QT对话框——利用QT设计师

1.      新建工程项目,application-QT widgets application,名字dialog,基类选择QDialog,选择使用界面文件(.ui)。

2.      打开dialo.ui文件,即打开了界面编辑,界面中包含Buttons、Containers、input widgets等窗口部件。

(1)依次向对话框中拖入3个pushButton,类名分别命名为okButton、cancelButton、moreButton,text名字输入OK、Cancel、More,default设置为真、真、假。

在Cancel和More的按钮之间添加一个verticalspacers。

(2)拖入一个Group Box,类名字命名为primaryBox,title设置为primarykey。然后添加两个label,text输入Column和Order。然后再拖入两个combo Box,命名为primaryColumnCombo和primaryOrderCombo,然后右键选择编辑项目,分别增加None,Ascending和Desceding条目。

(3)在primaryColumnCombo后添加一个horizontalspacers。

(4)单击groupBox,布局-栅格化布局。然后布局-调整大小。使得groupBox大小合适,groupBox中部件排列整齐。

(5)然后可以复制groupBox,按住Ctrl,拖动即可复制。复制的groupBo命名为secondaryBox和ternaryBox。

(6)单击对话框空白处,布局-栅格布局。最终结果如下:

3.      链接信号和槽。

选择edit-edit signals/slots,进入信号/槽编辑模式。点击OKbutton出现红色箭头,拖动到空白处,松开鼠标,弹出链接配置对话框,选择clicked()和accepted()信号;cancel button选择clicked()和rejected()信号;more button拖动到secondaryBox和ternaryBox,选择toggled()和setVisible();最终的信号链接为:

setVisible函数可以用来显示部件,而toggled信号是当按钮状态发生变化其就被发射,并返回一定数值。通过将More按钮和两个groupBox链接,当more按钮按下就可以隐藏或者展开两个GroupBox。

4.      编辑代码:

dialog.h

dialog.cpp

main.cpp

5.      运行结果:

时间: 2024-12-13 19:10:25

QT对话框——利用QT设计师的相关文章

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

成功编译qgis,启动程序发现对话框上的OK.Open.Cancel.Help等依然是英文字段,然后查找源码看这些字段是否都添加到了语言翻译包中: 最后发现这些按钮都是qt的QTGui4库中的QDialogButtonBox类,而qgis_zh_CN.qm文件中也确实未搜索到这些英文(利用qt的linguist.exe翻译程序打开搜索) 为了解决这个问题,我最开始考虑,难道到编译qt项目解决,下载qt源码,查找后发现这些英文都已经添加到了翻译中,而且qgis本身也是依赖qt的,使用的都是统一种方

Qt对话框_模态/非模态

对话框在Qt GUI应用程序中有着广泛的用途,对话框有模态.非模态两种情况. 对于参数选择的对话框,一般用模态对话框:对于显示或查看某些内容的对话框,一般用非模态对话框. 对话框类QDialog,官方文档:http://qt-project.org/doc/qt-4.8/qdialog.html 1. 模态对话框 模态对话框通过调用exec()函数实现,使用模态对话框时,事件就在对话框内部循环,必须将对话框关闭才能继续执行主界面的操作. 需要注意的是,关闭模态对话框时,exec()将返回一个值.

QT开发(二十)——QT对话框

QT开发(二十)--QT对话框 一.对话框简介 对话框是与用户进行简短交互的顶层窗口 QDialog是QT中所有对话框窗口的基类,QDialog继承于QWidget,是一种容器型的组件,是定制了窗口样式的特殊QWidget. QDialog作为一种专用的交互窗口,不能作为子部件嵌入其他容器中. 二.对话框类型 对话框类型分为模态对话框和非模态对话框. 1.模态对话框 模态对话框显示后无法与父窗口进行交互,是一种阻塞式的对话框,使用QDialog::exec()函数调用. 模态对话框一般在栈上创建

Qt Widget 利用 Qt4.5 实现酷炫透明窗体

本文讲述的是Qt Widget 利用 Qt4.5 实现酷炫透明窗体,QWidget类中的每一个窗口部件都是矩形,并且它们按Z轴顺序排列的.一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分. 先来看内容吧. Qt4.2引入了QWidget::setWindowOpacity函数, 可以为窗体设置透明度, 从0.0到1.0之间, 值越小越透明. 经过设置的窗体可以整体呈现透明的效果. 但这种设置比较粗糙, 只能设一个整体的效果,大概只有比如像拖动的时候能用一下,大多数时候都不太实用.在

利用Qt调用计算器

之前有了第一个项目那么很快就会有第二个 这次 我们来调用 一些系统函数. 就不从头写了. 直接写比较重要的地方,如果又不太懂的地方欢迎小纸条或者参见利用 QT制作一个 helloworld http://www.cnblogs.com/letben/p/5205060.html 1.双击widget.ui到设计界面. 2.拖一个PushButton到中间灰色区域内. 3.右键PushButton在下拉菜单中转到槽. 4.在跳转之后,键入:system.("calc"); 如图: 5.构

发布利用 Qt Assistant来做帮助系统的程序遇到的问题

最近,一直在做反演初始模型可视化建模的软件 model Constraint,最后的步骤就是利用 Qt Assistant为自己的程序制作帮助系统. 1.<Qt Creator快速入门>和网上大部分的资料在介绍利用Qt Assistant为自己的程序制作帮助系统时,制作的帮助系统里都没有图片,都是全文字的.而我写的用户手册里面含有一些操作图示,所以需要图片.并且用户手册是用 WPS写的,一些图片就是浮与文字上方.之后转成 HTML文件后,会生成一个 html文件和同名文件夹,里面存放着 png

Qt and C++ Reflection,利用Qt简化C++的反射实现

如何在C++中实现反射机制,应该算是C++开发中经常遇到的问题之一.C++程序没有完整的元数据,也就无法实现原生的反射机制.从性能的角度讲,这样的设计不难理解,毕竟在运行时储存这些元数据需要额外的开销.不为你不使用的东西付出代价,这是C++的哲学,所以当我们需要反射机制时,我们得自己来实现它.所幸如今各种C++的反射实现已经相当成熟,比如boost::reflect,以及本文所使用的Qt. Qt是常见的C++跨平台应用程序框架之一,除了用于开发GUI程序之外,Qt本身也是一套完整的C++库.不同

利用Qt Global Object来获取一些关于应用的信息

在Qt中,我们可以利用Qt全局变量来获取一些对我们应用有用的信息.在下面的应用中,我们可以获取如下的信息:    在上面,我们可以看到应用的状态,运行的输入参数,应用的名称及操作系统等. 我们的应用设计非常简单: import QtQuick 2.0 import Ubuntu.Components 1.1 import Ubuntu.Components.ListItems 1.0 as ListItems /*! \brief MainView with a Label and Button

QT 对话框中动态显示系统时间

QT 对话框中动态显示时间 #include <QDateTime> #include <QTimer> Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); //显示时间 QTimer *timer = new QTimer(this); displayTime(); connect(timer, SIGNAL(timeout()), this,