使用 Qt Designer 开发

         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 类也是由 QWidget 继承封装而来。
所以 QWidget 要比 QMainWindow 功能少一些。
         QDialog :对话框类,建立一个对话框界面。比较少使用此项作为基类。一般 QMainWindow 和 QWidget 作为基类的居多。 注因为 QWidget 不带窗口标题栏等,嵌入式里最好 QWidget

2、按钮添加

将这个 PushButton text 属性(文本属性)改为“关闭程序”。我们 要设计点击这个按钮将关闭这个窗口,关闭这个程序。

3、在ui文件里连接信号与槽

UI 设计器里有两种方法可以连接信号与槽。
信号:是一个对象发出的信号
槽:是当这个对象发出这个信号时,对应连接的槽就发被执行或者触发。
UI 设计器里信号与槽的连接方法一:
在主窗体的上面部分,我们可以看到一些小小的按钮,如下图框框部分。用鼠标放在这些按钮上面可以查看这个按钮是什么作用。信号槽连接的按钮也在上面。
点击信号槽连接的按钮如下,如下图①处,点击进入信号槽连接模式(若想退出信号槽连 接模式,则点击①处左边的按钮),进入信号与槽的连接模式后,将鼠标选中我们的“关闭程序” 按钮,按住按钮,然后用鼠标向外拖动,如②处。此时就会出现信号槽连接的符号。
按如下图步骤选择,左边的“关闭程序” pushButton 按钮的信号,可以看到一个对象的信号可以有多种。右边的 QMainWindow 的槽函数,如果有其他对象,右边不一定只有 MainWidnow 的槽函数(槽),也有可能是其他对象的槽。我们选择按钮的 clicked() 信号,将其连接 MainWindow 对象的 close() 槽。这样就完成了信号与槽的连接,非常简单。我们也可以预知这个信号与槽的功能,当“关闭程序”pushButton 发出了 clicked() 信号(也就是单击信号)。 这个信号由“关闭程序”pushButton 被单击时发出。它就会触发 MainWindow close() 。进而 使整个程序关闭。MainWindow close() 就是退出关闭程序,退出程序的意思。
完成信号槽连接,如下图。要想返回编辑部件模式点击如下图标注位置的按钮。下图就是 信号与槽连接的图示了。在编辑部件模式下我们是看不见的,只有信号槽模式才能看见这样的 图示。
UI 设计器里信号与槽的连接方法二:
选中“关闭程序” pushButton 按钮,然后右键,如下图。选择“转到槽”。
点击“转到槽”后,弹出下面的窗口,这一步是先让我们选择信号。按如下图选择。我们还发现这个 clicked() 信号并不是 pushButton 的,而是 QAbstactButton 的。只是 pusbButton 继承了 QAbstracButton ,同时把这个信号也继承了下来。除此之外我们还看到其 他信号也是不是属于 pushButton 的,也是被继承下来了。所以我们在 C++ 基础部分学过的继承。在 Qt 里的作用表现的淋漓尽致!根本不用重写 pushButton clicked() 事件。 pushButton 只需要 继承父类的 clicked() 事件即可!
点击确认 后,就会跳转到槽函数里,这个代码由 Qt Creator 自动生成。
同时在 mainwindow.h 里声明了这个槽函数。

找到 on_pushButton_clicked 这个槽函数里。在这个槽数里写上 this->close();调用 close() 方法关闭整个程序。

4、编译及运行创建的 UI 项目

关闭程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值