这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 给初学Qt者的小TIP

共4条 1/1 1 跳转至

给初学Qt者的小TIP

菜鸟
2021-09-13 10:37:25     打赏

1、Hello, Qt!

我们以一个非常简单的 Qt 程序开始 Qt 的学习。我们首先一行行的分析代码,然后我

们将会看到怎样编译和运行这个程序。

1 #include <QApplication>

2 #include <QLabel>

3 int main (int argc, char *argv [])

4 {

5 QApplication app (argc, argv);

6 QLabel *label = new QLabel ("Hello Qt!");

7 label->show ();

8 return app. exec ();

9 }

第 1 行和第 2 行包含了两个类的定义:QApplication 和 QLabel。对于每一个 Qt 的类,

都会有一个同名的头文件,头文件里包含了这个类的定义。因此,你如果在程序中使用了一

个类的对象,那么在程序中就必须包括这个头文件。

第 3 行是程序的入口。几乎在使用 Qt 的所有情况下,main()函数只需要在把控制权转

交给 Qt 库之前执行一些初始化,然后 Qt 库通过事件来向程序告知用户的行为。argc 是命

令行变量的数量,argv 是命令行变量的数组。这是一个 C/C++特征。它不是 Qt 专有的,无

论如何 Qt 需要处理这些变量

第 5 行定义了一个 QApplication 对象 App。QApplication 管理了各种各样的应用程序的

广泛资源,比如默认的字体和光标。 App 的创建需要 argc 和 argv 是因为 Qt 支持一些自己的

命令行参数。在每一个使用 Qt 的应用程序中都必须使用一个 QApplication 对象,并且在任

何 Qt 的窗口系统部件被使用之前创建此对象是必须的。App 在这里被创建并且处理后面的

命令行变量(比如在 X 窗口下的-display)。请注意,所有被 Qt 识别的命令行参数都会从 argv

中被移除(并且 argc 也因此而减少)。

第 6 行创建了一个 QLabel 窗口部件(widget) ,用来显示“Hello,Qt!”。在 Qt 和 Unix

的术语中,一个窗口部件就是用户界面中一个可见的元素,它相当于 Windows 术语中的“容

器”加上“控制器”。按钮(Button)、菜单(menu)、滚动条(scroll bars)和框架(frame)

都是窗口部件的例子。窗口部件可以包含其它的窗口部件。例如,一个应用程序界面通常就

是一个包含了 QMenuBar,一些 QToolBar,一个 QStatusBar 和其它的一些部件的窗口。绝大

多数应用程序使用一个 QMainWindow 或者一个 QDialog 作为程序界面,但是 Qt 允许任何

窗口部件成为窗口。在这个例子中,QLabel 窗口部件就是作为应用程序主窗口的。

第 7 行使我们创建的 QLabel 可见。当窗口部件被创建的时候,它总是隐藏的,必须调

用 show()来使它可见。通过这个特点我们可以在显示这些窗口部件之前定制它们,这样就不

会出现闪烁的情况。




院士
2021-09-13 16:14:49     打赏
2楼

谢谢分享。


菜鸟
2021-09-14 08:13:12     打赏
3楼

感谢楼主的分享


专家
2021-09-14 08:17:37     打赏
4楼

谢谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]