Qt程序基本构成:
一个简单qt项目由.pro文件,主窗口类的头文件和源文件,主程序main以及界面文件。主窗口需要有一个基类,qt提供三个窗口基类,分别是QWidget,QMainWindow,QDialog,其中QMainWindow和QDialog是继承自QWidget的,QWidget完全是一个空白的窗口,而QMainWindow是在QWidget的基础上添加了菜单栏,工具栏,状态栏,QDialog是对话框,即与用户进行对话的窗口,一般不含放大,缩小的按钮。程序入口main函数包含两个参数argc和argv,argc即命令行变量数量,argv即命令行变量的数组,main函数中第一行会有这样一段代码:
QApplication a(argc,argv);
这是在创建一个应用程序对象,该对象有且仅有一个。
MainWindow w;//当然也可以是Widget
这是创建一个窗口对象。
w.show();
接下来是通过调用该窗口类的方法来显示刚刚创建的窗口,窗口对象默认情况下不会显示,需要调用方法show()来显示。
return a.exec();
在C++中,我们如果没有添加暂停的代码
system("pause");
会出现窗口一闪而过的现象,图形化界面同样存在这样的问题。
最后一行代码就是让我们之前创建的应用程序对象进入消息循环以使得窗口不断的显示,直到用户点击关闭按钮。
上面是关于main.cpp的介绍,接下来介绍主窗口的头文件,
#ifndef MAINWINDOW_H
#define MAINWINDOW_H//用来防止头文件被重复包含,等效于#pragma once
#include <QMainWindow>//包含窗口类的头文件
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT//Q_OBJECT宏,用来允许类中使用信号和槽机制
public:
explicit MainWindow(QWidget *parent = nullptr);//构造函数
~MainWindow();//析构函数
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
Qt常用快捷键:
- 注释,ctrl+/
- 运行,ctrl+r
- 编译,ctrl+b
- 字体缩放,ctrl+鼠标滚轮
- 查找,ctrl+f
- 整行移动,ctrl+shift+上下键
- 帮助文档 f1
- 自动对齐,ctrl+i
- 同名之间.cpp和.h文件的切换,f4(这个很实用)