本文概要:通过一个简单的Qt程序来介绍Qt程序编写的基本框架与一些Qt程序中常见的概念
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton *button = new QPushButton("Quit");
QObject::connect(button, SIGNAL(click()), &app, SLOT(quit()));
button->show();
return app.exec();
}
程序运行结果:
窗口部件(widget):用户界面的一个可视化元素,如菜单按钮、滚动条、框架
窗口部件特点:
- 一个窗口部件可以包括其他窗口部件
- 在Qt中任何窗口部件都可以作为窗口(这里的窗口中指程序的主窗口)
- 在创建窗口时,其通常是隐藏的,可以通过设置来对窗口进行隐藏与显示
事件循环状态:
在Qt程序中使用app.exec()方法会将应用程序的控制权转移给Qt程序,此时,程序进入循环状态。循环状态为一种等待模式,程序会等待用户的动作(如点击鼠标等)。用户的动作会让可以响应的函数生成一些事件(或称为消息)。响应通常指执行一个或者多个函数。
信号与槽机制:
- 信号(signal):Qt的窗口部件通过发射信号(signal)来表示一个用户动作已经发生或者一个状态的改变。
- 槽(slot):信号可以与函数(或者称为槽)连接,在发射信号时,函数可以自动连接。
Qt的宏语法:SIGNAL()与SLOT()宏为Qt的宏语法