开发者

使用Qt Designer开发的实现示例

目录
  • 一、在ui文件添加一个按钮
    • 1、新建一个项目
    • 2、按钮添加
    • 3、在ui文件里连接信号与槽

Qt Designer 是属于 Qt Creator 的 一个功能而已,Qt Designer 也叫 UI 设计师或者 UI 设计器,这都是指的同一 个东西而已。

一、在ui文件添加一个按钮

1、新建一个项目

项目名为 02_designer_example

使用Qt Designer开发的实现示例

使用Qt Designer开发的实现示例

构建系统可选择 CMake , qmake, Qbs 对于 CMake 我们比较熟悉,用于生成 Makefile ,那么

qmake 与 Qbs 也同样道理, qmake 与 cmake 比较常用。我们需要选择 qmake 。

使用Qt Designer开发的实现示例

这里默认选择的基类为 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

使用Qt Designer开发的实现示例

使用Qt Designer开发的实现示例

使用Qt Designer开发的实现示例

使用Qt Designer开发的实现示例

2、按钮添加

使用Qt Designer开发的实现示例

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

使用Qt Designer开发的实现示例

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

在 UI 设计器里有两种方法可以连接信号与槽。

信号:是一个对象发出的信号

槽:是当这个对象发出这个信号时,对应连接的槽就发被执行或者触发。

UI 设计器里信号与槽的连接方法一:

在主窗体的上面部分,我们可以看到一些小小的按钮,如下图框框部分。用鼠标放在这些按钮上面可以查看这个按钮是什么作用。信号槽连接的按钮也在上面。

使用Qt Designer开发的实现示例

点击信号槽连接的按钮如下,如下图①处,点击进入信号槽连接模式(若想退出信号槽连 接模式,则点击①处左边的按钮),进入信号与槽的连接模式后,将鼠标选中我们的&ldphpquo;关闭程序” 按钮,按住按钮,然后用鼠标向外拖动,如②处。此时就会出现信号槽连接的符号。

使用Qt Designer开发的实现示例

按如下图步骤选择,左边的“关闭程序” pushButton 按钮的信号,可以看到一个对象的信号可以有多种。右边的 QMainWindow 的槽函数,如果有其他对象,右边不一定只有 MainWidnow 的槽函数(槽),也有可能是其他对象的槽。我们选择按钮的 clicked() 信号,将其连接 MainWindow 对象的 close() 槽。这样就完成了信号与槽的连接,非常简单。我们也可以预知这个信号与槽的功能,当“关闭程序”pushButton 发出了 clicked() 信号(也就是单击信号)。 这个信号由“关闭程序”pushButton 被单击时发出。它就会触发 MainWindow 的 close() 。进而 使整个程序关闭。MainWindow 的 close() 就是退出关闭程序,退出程序的意思。

使用Qt Designer开发的实现示例

完成信号槽连接,如下图。要想返回编辑部件模式点击如下图标注位置的按钮。下图就是 信号与槽连接的图示了。在编辑部件模式下我们是看不见的,只有信号槽模式才能看见这样的 图示。

使用Qt Designer开发的实现示例

UI 设计器里信号与槽的连接方法二:

选中“关闭程序” pushButton 按钮,然后右键,如android下图。选择“转到槽”。

使用Qt Designer开发的实现示例

点击“转到槽”后,弹出下面的窗口,这一步是先让我们选择信号。按如下图选择。我们还发现这个 clicked() 信号并不是 pushButton&jsnbsp;的,而是 QAbstactButton 的。只是 pusbButton 继承了 QAbstracButton ,同时把这个信号也继承了下来。除此之外我们还看到其 他信号也是不是属于 pushButton 的,也是被继承下来了。所以我们在 C++ 基础部分学过的继承。在 Qt 里的作用表现的淋漓尽致!根本不用重写 pushButton 的 clicked() 事件。 pushButton 只需要 继承父类的 clicked() 事件即可!

使用Qt Designer开发的实现示例

点击确认 后,就会跳转到槽函数里,这个代码由 Qt Creator 自动生成。

使用Qt Designer开发的实现示例

同时在 mainwindow.h 里声明了这个槽函数。

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

使用Qt Designer开发的实现示例

到此这篇关于使用Qt Designer开发的实现示例的文章就介绍到这了,更多相关Qt Designer开发内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关www.devze.com文章希望大家以后多多支持编程客栈(www.devze.com)!

0

上一篇:

下一篇:没有了

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜