按上一篇的内容, 新建一个 VS Qt 工程.
main.cpp 里是程序的入口, 里面只有一个 main 函数, 它维护一个 Qt 对象实例.
#include "demo.h" #include <QtWidgets/QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); Demo w; w.show(); return a.exec(); }
对于 Qt 程序来说, main()
函数一般以创建 application 对象开始(GUI 程序是QApplication
, 非 GUI 程序是QCoreApplication
, QApplication
实际上是QCoreApplication
的子类),后面才是实际业务的代码. 这个对象用于管理 Qt 程序的生命周期、 开启事件循环.
而 demo.h 里是我们 Qt 程序的界面类, 它继承于 QWidget类, 它是 Qt 程序所有用户界面对象的基类.
#ifndef DEMO_H #define DEMO_H #include <QtWidgets/QWidget> #include "ui_demo.h" class Demo : public QWidget { Q_OBJECT public: Demo(QWidget *parent = 0); ~Demo(); private: Ui::DemoClass ui; }; #endif // DEMO_H
这里面的代码我们以后再分析, 先写出 Hellp Qt! 出来.
双击 emo.ui 文件, 就会用 Qt Creator 打开界面.
左侧是 Qt 程序的控件, 我们主要使用的有:
QLabel | 静态文本(可以有超链接和图片) |
QTabWidget | 选项卡 |
QTextEdit | 多行文本框 |
QLineEdit | 单行文本框 |
QGroupBox | 分组框 |
QSplitLine | 分隔线 |
QTableWidget | 列表框 |
QPushButton | 按钮 |
QCheckBox | 复选 |
QRadioButton | 单选 |
QHBoxLayout | 水平布局 |
QVBoxLayout | 垂直布局 |
在左侧找到 Label 控件, 拖拽到中间的窗口界面上
右键选择改变对象名称, 改成我们想要的对象名:
右侧可以设计控件的一些属性, 例如我们把 Label 的文本改成居中显示:
返回我们的 VS 工程, 打开 demo.cpp:
1 #include "demo.h" 2 #include "QLabel" 3 4 Demo::Demo(QWidget *parent) 5 : QWidget(parent) 6 { 7 ui.setupUi(this); 8 ui.label_Hello->setText("Hello Qt!"); 9 } 10 11 Demo::~Demo() 12 { 13 14 }
#include "QLabel"
ui.label_Hello->setText("Hello Qt!")
这两句是我们新添加的代码, 功能是设置刚才拖拽的 QLabel 的显示文字.
注意我们要使用 Qt 的哪个类, 就要添加那个类的头文件.
编译运行: