现在越来越多的设备软件用的是QT编写的。最简单的入门窗口主程序如下:
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
主程序的前面两行很简单,仅仅是创建两个对象实例,重点说一下w.show()与a.exec()
主窗口显示与a.exec()事件循环之间有紧密的关联,这是一个因果关系:
执行流程分析
MainWindow w; // 1. 创建主窗口对象(内存中)
w.show(); // 2. 显示窗口(但还未进入事件处理)
return a.exec(); // 3. 进入事件循环(程序开始真正运行)
关键关联点
1. w.show() 只是"预约"显示
-
show()方法只是设置窗口为"应该显示"状态 -
实际的重绘和显示操作被放入事件队列
-
此时窗口可能还没有真正在屏

订阅专栏 解锁全文
8614

被折叠的 条评论
为什么被折叠?



