项目
项目组成
Qt软件项目构建文件主要包含三个部分:工程文件(.pro)、主函数(main.cpp)和创建的类对象(.cpp和.h),界面文件根据个人需求(.ui)。
项目构建过程
- 新建

- 选择安装路径和填写项目名称

- 选择编译版本

- 类信息

- 完成项目构建
简述
- .pro 包含元素:
Qt库(QT += )、头文件(HEADERS +=)、源文件(SOURCES +=)、界面文件(FORM +=)、宏定义等; - main.cpp文件包含项目的主要逻辑:创建一个
QApplication对象(管理GUI程序的控制流和主要设置,可以理解为Qt项目的主事件循环),进行相关操作,然后循环运行;
main.cpp
//头文件引用
#include "mainwindow.h"
#include <QApplication>
//主函数入口
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w; //可以进行其他功能实现
w.show();
return a.exec();
}
- 类:实现所需功能。
- .ui文件:项目界面文件。
信号和槽
基本使用方法
Qt4写法
QObject::connect(&sender, SIGNAL(clicked()), &recevier, SLOT(quit()));
Qt5写法
QObject::connect(&sender, &QPushButton::clicked, &receiver, &QApplication::quit);
异同点
同:
- 这里的发送和接收者都是对象指针;
- 信号绑定,可以一个信号绑定多个槽函数,也可以多个信号绑定一个槽函数,也可以信号绑定信号,进行转述;
- 触发信号的方式 :
emit + 空格 + 信号函数。
异:
- Qt4需要使用关键字
SIGNAL和SLOT,并且函数需要指明参数个数;Qt5直接调用函数的类引用,无需指明参数个数。
使用注意事项
信号函数的参数个数必须大于等于槽函数的参数个数,否则无法绑定,发生错误.
信号函数只需要声明,无需函数实现.
创建的类中必须包含
Q_OBJECT宏, 其内提供了信号槽机制和国际化机制等能力.
信号槽绑定必须在发送信号之前进行,通常会在构造函数中进行信号槽的相关绑定,少部分是在信号调用之前进行绑定(线程中调用时).
信号函数的命名常包含
send、 signal等表示清晰,槽函数常使用on + 大写信号函数名、 slot等表示清晰.
界面
界面文件和项目同时创建
如上述构建项目文件操作
单独创建界面文件
单独创建.ui文件后,需要如下三步操作,进行.ui文件调用:
mainwindow.h
namespace Ui {
class MainWindow;
}
private:
Ui::MainWindow *ui;
mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
注意事项
.ui文件创建要保持和类名称相同
当创建的.ui文件名称不相同时,可使用编辑文本打开.ui文件,将其中的
<class>类名</class><widget name="类名"></widget><string>类名<string>进行修改,完成后在进行如上三步对ui文件进行引用。
QT安装
Qt官方安装路径: http://download.qt.io/

版权声明:本文为weixin_42146176原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。