原始网址:http://www.devbean.net/2012/08/qt-study-road-2-hello-world/
Qlabel是一个类,包含头文件<Qlabel>
可以用下面的代码定义:
#include <QApplication>
#include<QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel label("Hello,world");
label.show();
return app.exec();
}
前两行是 C++ 的 include 语句,这里我们引入的是QApplication
以及QLabel
这两个类。main()
函数中第一句是创建一个QApplication
类的实例。对于 Qt 程序来说,main()
函数一般以创建 application 对象(GUI 程序是QApplication
,非 GUI 程序是QCoreApplication
。QApplication
实际上是QCoreApplication
的子类。)开始,后面才是实际业务的代码。这个对象用于管理 Qt 程序的生命周期,开启事件循环,这一切都是必不可少的。在我们创建了QApplication
对象之后,直接创建一个QLabel
对象,构造函数赋值“Hello, world”,当然就是能够在QLabel
上面显示这行文本。最后调用QLabel
的show()
函数将其显示出来。main()
函数最后,调用app.exec()
,开启事件循环。我们现在可以简单地将事件循环理解成一段无限循环。正因为如此,我们在栈上构建了QLabel
对象,却能够一直显示在那里(试想,如果不是无限循环,main()
函数立刻会退出,QLabel
对象当然也就直接析构了)。
但是,不建议这样做:(可能会内存泄漏)
QLabel *label=newQLabel("Hello, world");