Qt框架概述

Qt框架概述

  • 一、什么是Qt
  • 二、了解QtCreator
  • 三、创建Qt项目
    • *Qt项目框架及文件介绍
  • 四、设置窗口属性
  • 五、按钮
    • 创建按钮方式一
      • 按钮属性设置
    • 创建按钮方式二
  • 六、对象模型

一、什么是Qt

概念:
Qt是一个基于C++的 跨平台的图形用户界面应用程序框架
常见GUI

  • Qt :支持多平台开发
  • MFC:仅在Windows开发

使用Qt开发的案例:

  • Linux桌面环境KDE
  • Google Earth 谷歌地图
  • WPS Office
  • 极品飞车

二、了解QtCreator

Qt和QtCreator的区别
Qt:开发工具包
QtCreator:集成的编译器,即Qt的桌面环境

QtCreator界面
Qt框架概述_第1张图片

  • 欢迎选项
    • 工程:创建工程+打开工程
    • 示例:demo程序
    • 教程
  • 编辑选项
    • 编辑项目文件
  • 设计选项
    • 设计ui
  • debug选项
    调试
  • 项目设置选项
  • 帮助选项
    • 查询手册

三、创建Qt项目

欢迎–>project–>new project
菜单栏–>文件–>新建文件或项目

创建类的基类
Qt框架概述_第2张图片

*Qt项目框架及文件介绍

Qt框架概述_第3张图片

.pro文件:工程文件,qmake自动生成的用于生产makefile的配置文件

QT       += core gui//包含的模块

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets//Qt版本大于4包含此模块,兼容旧版本

TARGET = test//应用程序名,生成的 exe程序
TEMPLATE = app//模板类型
 
DEFINES += QT_DEPRECATED_WARNINGS//定义编译选项,表示如果有些功能被Qt标记为过时,编译器就会发出警告  

SOURCES += \
        main.cpp \ //源文件
        widget.cpp
HEADERS += \
        widget.h //头文件

main.cpp

#include "widget.h"  //Qt中一个类对应一个头文件,类名即为头文件名
#include //Qt系统提供的标准类名生成头文件

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);//系统提供的应用程序类,处理应用程序的初始化和结束,事件调度处理
    Widget w;//实例化对象,调用构造函数
    w.show();

    return a.exec();//主事件循环,在exec函数中,Qt会接受并处理用户和系统的事件,并将它们传递给适当的窗口控件
}

widget.cpp

#include "widget.h"

//构造函数
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
}
//析构函数
Widget::~Widget()
{
}

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include 
//继承
class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = 0);//构造函数声明
    ~Widget();//析构函数声明
};
#endif // WIDGET_H

四、设置窗口属性

在widget.cpp源文件中的Widget类的构造函数里设置窗口属性
Qt框架概述_第4张图片

  • 关于Qt中文乱码的解决
    Qt框架概述_第5张图片

Qt框架概述_第6张图片
注:改完编码设置新建工程设置才会生效

五、按钮

创建按钮方式一

1.包含头文件(.cpp)和组件(.pro)
Qt框架概述_第7张图片

2.调用类的构造函数创建按钮

//创建按钮
QPushButton*button=new QPushButton;

3.显示按钮
调用show函数或者设置按钮的父对象为窗口

//button->show();//另开窗口显示

//设置按钮的父对象为窗口,按钮会在窗口中显示
button->setParent(this);

按钮属性设置

//设置按钮内容
button->setText("这是一个按钮");
//设置按钮的显示位置
button->move(300,100);
//设置按钮大小
button->setFixedSize(80,30);

创建按钮方式二

创建按钮的同时设置父对象

/************设置按钮方式二*************/
QPushButton* button2=new QPushButton("第二个按钮",this);

区别:

  • 方式一的窗口是默认大小,按钮显示在左上角
  • 方式二窗口根据按钮大小来创建,使用方式二一般需要重置窗口大小

六、对象模型

概念:Qt对象间的父子关系,简化了内存回收

  • 在创建一个QObject对象时,QObject的构造函数会接收一个QObject指针作为参数,则会个参数就是父对象指针,我们创建的QObject对象会自动添加到其父对象的children()列表。
  • QWidget是能在屏幕上显示的一切组件的父类,QWidget继承自QObject
  • 关闭一个窗口的时候,调用析 构函数,如果窗口还有子类,会先调用子类 对象的析构函数

你可能感兴趣的:(Qt,qt,开发语言)