Hello world
第一个程序是一个简单的 Hello World 例子。它只包含你建立和运行 Qt 应用程序
所需要的最少的代码。
先新建一个项目。打开main.cpp,然后修改,编译执行。
#include "widget.h"
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QPushButton hello("Hello world!", 0); //按钮
hello.resize(100, 30); //设置大小
hello.show(); //显示
return a.exec();
}
QApplication
在每一个使用 Qt 的应用程序中都必须使用一个 QApplication 对象。QApplication 管理了各种各样的应用程序的广泛资源,比如默认的字体和光标。
QPushButton
QPushButton 是一个经典的图形用户界面按钮,用户可以按下去,也可以放开。它管理自己的观感,就像其它每一个 QWidget。一个窗口部件就是一个可以处理用户输入和绘制图形的用户界面对象。程序员可以改变它的全部观感和它的许多主要的属性(比如颜色),还有这个窗口部件的内容。一个 QPushButton 可以显示一段文本或者一个QPixmap。
main
main()函数是程序的入口。几乎在使用 Qt 的所有情况下,main()只需要在把控制转交给Qt库之前执行一些初始化,然后Qt库通过事件来向程序告知用户的行为。 argc 是命令行变量的数量,argv 是命令行变量的数组。这是一个 C/C++特征。它不是 Qt 专有的,无论如何 Qt 需要处理这些变量(请看下面)。
QApplication a(argc, argv);
a 是这个程序的 QApplication。它在这里被创建并且处理这些命令行变量(比如在 X 窗口下的-display)。请注意,所有被 Qt 识别的命令行参数都会从 argv 中被移除(并且 argc 也因此而减少)。
注意:在任何 Qt 的窗口系统部件被使用之前创建 QApplication 对象是必须的。即必须要有这句话。
QPushButton hello(“Hello world!”, 0);
这里,在 QApplication 之后,接着的是第一个窗口系统代码:一个按钮被创建了。 这个按钮被设置成显示“Hello world!”并且它自己构成了一个窗口(因为在构造函数指定 0 为它的父窗口,在这个父窗口中按钮被定位)。
hello.resize(100, 30);
这个按钮被设置成 100 像素宽,30 像素高(加上窗口系统边框)。在这种情况下,我们不用考虑按钮的位置,并且我们接受默认值。
hello.show();
当你创建一个窗口部件的时候,它是不可见的。你必须调用 show()来使它变为可见的。
return a.exec();
这里就是 main()把控制转交给 Qt,并且当应用程序退出的时候 exec()就会返回。 在 exec()中,Qt 接受并处理用户和系统的事件并且把它们传递给适当的窗口部件。