首页 » 软件开发 » 使用Qt快速开发应用程序(应用程序第二章开发对话框事件)

使用Qt快速开发应用程序(应用程序第二章开发对话框事件)

萌界大人物 2024-07-24 02:38:03 0

扫一扫用手机浏览

文章目录 [+]

Qt的历史根源使得创建图形用户界面和围绕它构建应用程序变得非常容易。
本章通过几个简单的步骤从最初的想法一直到一个可工作的应用程序。

1 The Sketch

开发软件时,最好有一个草图来显示您想要实现的目标。
本章的目标是实现一个简单的电话簿,它包含联系人和电话号码的列表。

使用Qt快速开发应用程序(应用程序第二章开发对话框事件) 软件开发
(图片来自网络侵删)

图形用户界面(从这里开始的UI)将围绕两个对话框构建:一个用于显示列表和可用操作,另一个用于编辑联系人。
图2-1显示了这两个对话框的早期草稿。

图2-1

该过程的下一步是将草图中的想法转化为可以实现的结构。
为此,您必须了解Qt应用程序是如何工作的。

2 Event-Driver Applications 事件驱动的应用

所有Qt应用程序都是事件驱动的,因此不能直接从main函数执行到应用程序的所有部分。
相反,您从main函数初始化应用程序,然后main函数调用QApplication对象上的exec方法。
这将启动应用程序的事件循环。
事件可以是网络上接收到的新包,可以是一个定时器事件,也可以是用户按了一个键或移动了鼠标的事件。

QApplication对象等待这些事件,并将它们传递给任何受影响的QObject。
例如,当用户在图2-1所示的电话簿对话框中单击Clear All按钮时,该单击事件会加入到应用程序的事件循环。
然后QApplication对象获取单击的事件,并将其传递给受影响的对象:在本例中,表示按钮的QPushButton对象。
然后,该按钮对象对事件作出反应并发出相关信号。

通过将被单击的按钮和选中的项目连接到实现应用程序实际功能的插槽,用户界面被设置为对用户交互作出反应。
因此,在开发应用程序时,一个好的出发点是识别用户可以通过图2-1所示的UI执行的操作。

-第一个操作是启动应用程序。
当这种情况发生时,将显示列表对话框;

-用户添加一个新项目。
这显示了一个空的编辑对话框;

-用户编辑当前选择的项目。
这显示了一个填充的编辑对话框;

-用户删除当前选择的项目;

-用户清除列表;

-用户退出应用程序;

-在编辑对话框中,用户批准所做的更改。
这意味着更改将反映在列表对话框中;

-在编辑对话框中,用户取消所做的更改。

从上述列表的第一条开始,主机操作系统必须负责启动应用程序。
在这个过程中,您的部分是从主函数中显示列表对话框。
其余的动作在组成UI的两个对话框上显示为按钮。

总结一下:该应用程序由一个主函数、一个列表对话框和一个编辑对话框组成。
每个对话框由一个表单(即UI的XML描述)和一个组成Qt感兴趣的实际QDialog的类组成。
这些信息足以创建一个项目文件。
结果如清单2-1所示。
注意,它从应用程序模板应用程序开始,这是所有Qt应用程序的起点。
项目文件的其余部分只是需要创建的文件列表,这是您在本章的其余部分将要做的事情。

现在为应用程序创建一个新目录,并将项目文件放在其中。
当您将本章中显示的其余文件放入该目录时,您就得到了一个完整的应用程序。

3 Using Designer

双击打开QtCreator后,在使用时,会出现无响应或者闪退的情况,一种有效的解决办法是以管理员身份运行。
网上介绍的其他的方法我试了几个,目前这种方法是最有效的。
通过下图的操作即可,也可以通过右键桌面上QtCreator的快捷方式选择“以管理身份运行”。
具体原因不解释,大家可以网上搜索。

设计器是用于设计Qt附带的用户界面的工具。
接下来我们按照图2-1所示的草图进行控件布局:

3-1 创建工程

1)QtCreator打开后如下图所示:

2)文件->新建文件或项目->Application->Qt Widget Application->choose:

3)填写项目名称,工程路径,点击下一步

4)构建系统选择qmake,点击下一步

5)填写class name,Base Class 选择QDialog(QMainWindow,QWidget,QDialog的区别后边的章节中会讲到),点击下一步:

6)选择MinGW 32-bit,点击下一步

7)点击完成,暂时不需要版本控制:

8)点击 项目->浏览,选择3)中工程目录下的addressbook文件夹:

至此,工程就创建好了,但是还少一个对话框--EditDialog。

3-2 添加界面

在工程中添加一个对话框的过程如下:

1)右键单击项目名称->Add New...

2)弹出如下界面,一次选择Qt->Qt设计师界面->choose

3)弹出如下界面,选择Dialog with Buttons Bottom,下一步

4)弹出如下界面,填写类名,下一步,默认完成即可。

在工程中加入EditDialog后的工程树:

ListDialog和EditDialog的布局下节详细介绍。

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读3 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0