Qt 的入门小程序
MinGW版本:5.3.0
Qt版本:5.8.0
Qt Creator版本:4.2.1
main.cpp
#include "mainwindow.h" #include <QApplication>//GUI 程序是QApplication
,非GUI 程序是QCoreApplication
。QApplication
实际上是QCoreApplication
的子类。 #include <QLabel> int main(int argc, char *argv[]) { QApplication a(argc, argv);//在栈上创建QApplication对象
//QLabel *label = new QLabel("Hello, world");// 不建议这样做,因为还要人为delete,否则存在内存泄漏的情况,尽管操作系统会进行回收,但是资源不是正常释放的。 //label->setAttribute(Qt::WA_DeleteOnClose); // 必须在堆上创建的话, 需要加上这句, 由于a是在栈上创建的,而label是在堆上创建的,这意味着,label会在a之后析构。也就是说,label的生命周期长于a的生命周期,这在早期Qt版本中是不可以的,新版本Qt确定了a.exec()的实现机制,使这种做法成为可能。
QLabel label("oppa ya");//在栈上创建QLabel对象 label.show(); return a.exec();//开启事件循环 }