使用Qt Designer开发的实现示例
目录
- 一、在ui文件添加一个按钮
- 1、新建一个项目
- 2、按钮添加
- 3、在ui文件里连接信号与槽
Qt Designer 是属于 Qt Creator 的 一个功能而已,Qt Designer 也叫 UI 设计师或者 UI 设计器,这都是指的同一 个东西而已。
一、在ui文件添加一个按钮
1、新建一个项目
项目名为 02_designer_example
构建系统可选择 CMake , qmake, Qbs 对于 CMake 我们比较熟悉,用于生成 Makefile ,那么
qmake 与 Qbs 也同样道理, qmake 与 cmake 比较常用。我们需要选择 qmake 。
这里默认选择的基类为 QMainWindow 。在 Base class 一项中我们还可以看到还有 QWidget
和 QWialog 这样的基类可以选择。 简单的来说,我们创建 的这个项目是基于 QMainWindow 类去开发的。默认勾选“ Generate form ”,意思是生成 ui 窗体 文件 mainwindow.ui 。为了学习方便,我们统一默认基类为 QMainWindow ,但是注意,在嵌入 式里一般不需要标题栏,状态栏等,所以常用的是 QWidget 基类。
QMainWindow:主窗口类,主窗口具有主菜单栏、工具栏和状态栏。类似于一般的应用程
序的主窗口。如果你想做个嵌套的窗口程序开发的软件,不妨选择这个 QMainWindow 。
QWidget:是可视界面类的基类,也就是说 QMainWindow&nbjssp;类也是由 QWidget 继承封装而来。
所以 QWidget 要比 QMainWindow 功能少一些。
QDialog :对话框类,建立一个对话框界面。比较少使用此项作为基类。一般 QMainWindow 和 QWidget 作为基类的居多。 注因为 QWidget 不带窗口标题栏等,嵌入式里最好 QWidget
2、按钮添加
将这个 PushButton 的 text 属性(文本属性)改为“关闭程序”。我们 要设计点击这个按钮将关闭这个窗口,关闭这个程序。
3、在ui文件里连接信号与槽
在 UI 设计器里有两种方法可以连接信号与槽。
信号:是一个对象发出的信号
槽:是当这个对象发出这个信号时,对应连接的槽就发被执行或者触发。
UI 设计器里信号与槽的连接方法一:
在主窗体的上面部分,我们可以看到一些小小的按钮,如下图框框部分。用鼠标放在这些按钮上面可以查看这个按钮是什么作用。信号槽连接的按钮也在上面。
点击信号槽连接的按钮如下,如下图①处,点击进入信号槽连接模式(若想退出信号槽连 接模式,则点击①处左边的按钮),进入信号与槽的连接模式后,将鼠标选中我们的&ldphpquo;关闭程序” 按钮,按住按钮,然后用鼠标向外拖动,如②处。此时就会出现信号槽连接的符号。
按如下图步骤选择,左边的“关闭程序” pushButton 按钮的信号,可以看到一个对象的信号可以有多种。右边的 QMainWindow 的槽函数,如果有其他对象,右边不一定只有 MainWidnow 的槽函数(槽),也有可能是其他对象的槽。我们选择按钮的 clicked() 信号,将其连接 MainWindow 对象的 close() 槽。这样就完成了信号与槽的连接,非常简单。我们也可以预知这个信号与槽的功能,当“关闭程序”pushButton 发出了 clicked() 信号(也就是单击信号)。 这个信号由“关闭程序”pushButton 被单击时发出。它就会触发 MainWindow 的 close() 。进而 使整个程序关闭。MainWindow 的 close() 就是退出关闭程序,退出程序的意思。
完成信号槽连接,如下图。要想返回编辑部件模式点击如下图标注位置的按钮。下图就是 信号与槽连接的图示了。在编辑部件模式下我们是看不见的,只有信号槽模式才能看见这样的 图示。
UI 设计器里信号与槽的连接方法二:
选中“关闭程序” pushButton 按钮,然后右键,如android下图。选择“转到槽”。
点击“转到槽”后,弹出下面的窗口,这一步是先让我们选择信号。按如下图选择。我们还发现这个 clicked() 信号并不是 pushButton&jsnbsp;的,而是 QAbstactButton 的。只是 pusbButton 继承了 QAbstracButton ,同时把这个信号也继承了下来。除此之外我们还看到其 他信号也是不是属于 pushButton 的,也是被继承下来了。所以我们在 C++ 基础部分学过的继承。在 Qt 里的作用表现的淋漓尽致!根本不用重写 pushButton 的 clicked() 事件。 pushButton 只需要 继承父类的 clicked() 事件即可!
点击确认 后,就会跳转到槽函数里,这个代码由 Qt Creator 自动生成。
同时在 mainwindow.h 里声明了这个槽函数。
找到 on_pushButton_clicked 这个槽函数里。在这个槽数里写上 this->close();调用 close() 方法关闭整个程序。
到此这篇关于使用Qt Designer开发的实现示例的文章就介绍到这了,更多相关Qt Designer开发内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关www.devze.com文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论