MinGW版本:5.3.0
Qt版本:5.8.0
Qt Creator版本:4.2.1
main.cpp #include "mainwindow.h"#include//GUI 程序是QApplication,非GUI 程序是QCoreApplication。QApplication实际上是QCoreApplication的子类。#include 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();//开启事件循环}