软件和系统:QTcreator5.7,win8.1

1. 首先新建项目,选择application中的Qt widgets application。

2. 创建类Dialog,选择QDialog作为基类。

3. 由于对话框简单,可以通过代码实现,而不用ui。

4. 首先了解以下几个控件:

(1)       QCheckBox

一个选项按钮,可以选择性开启或者关闭,用于指导一个操作的的行为。每当其被选择或者被清除就会发送一个stateChanged()信号。也可以通过isChecked()来检测其状态。

(2)       Qlabel

在对话框中呈现出文本或者图片。

(3)       QLineEdit

用户可以输入一行文本,该文本可以被粘贴、复制等。当内容改变时,发出textChanged()信号。

(4)       QPushButton

对话框中的按钮,执行命令。每当按下就会发送clicked()信号。

5. 在头文件中声明以上控件类:

这些控件类在Qt4中包含在Gtui头文件中,在Qt5中包含在QtWidgets中,定义这些类本可以直接包含头文件QtWidgets,但是在已经包含了较大头文件的文件中再包含那么大头文件,不是一种好的编程风格。

6. 定义信号和槽。

Q_OBJECT是QT中宏定义,如果需要定义槽、信号就需要包含这个宏。信号和槽是QT创建的,其独立于C++,其编译由moc来完成。

这里定义的两个信号findNext和findPrevious是QT中函数,用于进行文本查找。

槽是定义的用户自定义的。

7. 生成对话框控件。

&代表快捷选项,&后边字母可以通过Alt+字母来进行选择。

8. 链接信号和槽。

当lineEdit中文本变化,就会引发enebleFindButton();findButton按钮按下就会触发findClicked()信号;closeButton按钮按下就会关闭对话框。

9. 控件排列。

QHBoxLayout、QVBoxLayout用于排布控件,前者横向排列后者纵向排列,通过这两个类可以实现控件分布。

10. 最终结果:

QT对话框设计的更多相关文章

  1. MATLAB对话框设计[转]

    Matlab之对话框 对话框设计:在图形用户界面程序设计中,对话框是重要的信息显示和获取输入数据的用户界面对象. 1.公共对话框: 公共对话框是利用windows资源的对话框,包括文件打开.文件保存. ...

  2. 使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件

    使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件 前期准备: 安装 python:https://www ...

  3. Qt Designer设计 UI 文件并调用

    本文介绍的是Qt Designer设计 UI 文件并调用,在坛子里逛了一圈,关于UI方面的好像不怎多,本篇给大家分享一下. AD: 2013云计算架构师峰会超低价抢票中 Qt Designer设计 U ...

  4. pyqt5对用qt designer设计的窗体实现弹出子窗口的示例

    pyqt5对用qt designer设计的窗体实现弹出子窗口的示例 脚本专栏 python 1. 用qt designer编写主窗体,窗体类型是MainWindow,空白窗口上一个按钮.并转换成mai ...

  5. pyqt5通过qt designer 设计方式连接多个UI图形界面

    当我们通过pyqt开发时,eric6为我们提供了一个方便的工具:图形化的绘制UI工具--qtdesigner.我们可以通过它开发多个UI,然后利用信号-槽工具,将功能代码附着在上面.也可以将多个界面连 ...

  6. QT Desinger设计窗体应用程序框架

    目录 目录 前言 系统软件 QT Designer Using QT Designer Open QTDesigner Tool Widget Box QT Designer的布局 属性栏 示例 i ...

  7. QGis、Qt对话框上的OK、Open、Cancel、Help等英文翻译

    成功编译qgis,启动程序发现对话框上的OK.Open.Cancel.Help等依然是英文字段,然后查找源码看这些字段是否都添加到了语言翻译包中: 最后发现这些按钮都是qt的QTGui4库中的QDia ...

  8. QT 对话框一

    标准文件对话框 其函数形式如下:: QString QFileDialog::getOpenFileName ( QWidget * parent=, const QString &capti ...

  9. Qt 对话框显示控制按钮

    在对话框窗体构造函数加入 SystemDialog::SystemDialog(QWidget *parent) : QDialog(parent), ui(new Ui::SystemDialog) ...

随机推荐

  1. sublineText

    https://github.com/thinkpixellab/flatland { "color_scheme": "Packages/Theme - Flatlan ...

  2. hdu1506

    today, my cc can't make '__in64' it's so bad!!! i don't know why #include <stdio.h> //long lon ...

  3. 通过string型类名实例化一个类

    DataTable dt = new DBHelper().getIndexInfo(code_id); DataRow row = dt.Rows[0]; string dllName = row[ ...

  4. 面向初学者的 Windows 10 UWP 应用开发

    眼看 Windows 10 for Mobile 正式版也快要推送了,就先挖个坑吧,原文视频链接为:Windows 10 development for absolute beginners,以下博客 ...

  5. Jetson TK1 Restore 步骤

     Jetson TK1 Restore 步骤 下载驱动包和文件系统包: 1:驱动包 2:文件系统 具体参见文档:http://download.csdn.net/detail/xiabodan/7 ...

  6. C# 中解决页面刷新后字体等变大问题

    来源:http://blog.csdn.net/wcsjsdn/article/details/5109605 我们在.net开发中时常会遇到一个问题,那就是,当点击某个按钮后,调用js语句,当点击& ...

  7. php中的占位符

    1.?这种形式传值,注意是数组! 2.:name的形式.

  8. MHA 日常管理

    一.MHA的主要脚本 1.manager端 masterha_check_ssh 检查MHA的SSH配置状况 masterha_check_repl 检查MySQL复制状况 masterha_mang ...

  9. Hadoop1.x与2.x安装笔记

    Hadoop1.x与2.x安装笔记 Email: chujiaqiang229@163.com 2015-05-09 Hadoop 1.x 安装 Hadoop1.x 集群规划 No 名称 内容 备注 ...

  10. JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype

    一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...