第四讲使用qt designer 快速设计界面

上传人:小** 文档编号:93200375 上传时间:2019-07-18 格式:PDF 页数:8 大小:499.30KB
返回 下载 相关 举报
第四讲使用qt designer 快速设计界面_第1页
第1页 / 共8页
第四讲使用qt designer 快速设计界面_第2页
第2页 / 共8页
第四讲使用qt designer 快速设计界面_第3页
第3页 / 共8页
第四讲使用qt designer 快速设计界面_第4页
第4页 / 共8页
第四讲使用qt designer 快速设计界面_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《第四讲使用qt designer 快速设计界面》由会员分享,可在线阅读,更多相关《第四讲使用qt designer 快速设计界面(8页珍藏版)》请在金锄头文库上搜索。

1、第四讲 :使用 qt designer 快速设计界面 4.1 快速设计对话框 对于程序员来说,纯粹通过编写C+源代码来开发整个Qt应用程序并不稀奇。不过,许多程 序员还是喜欢使用可视化的方法来设计窗体,Qt设计器(Qt Designer)为程序员们提供了可供使 用的新选择,它提供可视化的设计能力。用Qt Designer 设计的对话框和用c+代码写成的对话 框是一样的,可以用做一个常用的工具,并不对编辑器产生影响。 在这一节中,我们介绍使用Qt Designer来创建如图1所示的qqLoginDlg的窗体和程序代码, 无论用编写代码的方式还是用Qt Designer,创建对话框都有如下基本的步

2、骤: 图1 QQ的登陆框 1、创建和初始化子控件。 2、把子控件放到布局管理器中。 3、设置子控件的tab 顺序和控件之间的伙伴关系。 4、创建信号和槽。 5、实现对话框的自己的槽函数。 打开QDevelop,创建一个工程,工程的模板选择“带对话框的工程”,工程名、文件名等设 置如下图2所示: 图2 创建新的工程 然后点击“确定”,则工具会创建工程有关的几个文件,在“文件浏览器”中可以看到几个 已经创建好的文件,如下图3所示: 图3 QDevelop主窗口 双击“qqLoginDlg.ui”文件,QDevelop将会启动“Qt 设计师(Qt Designer)”来打开这个 文件,刚启动设计师d

3、esigner的时候,它会问是否需要“新建窗体”,因为已经有了一个窗体, 因此我们选择“关闭”。现在你应该得到一个窗口,其名称为“qqLoginDlg.ui”,如下图4所示: 图4 Qt 设计师主界面 默认情况下,Qt设计师(Qt Designer)的用户界面由几个顶级窗口组成,如果你喜欢那种 一个顶级窗口带几个子窗口的MDI形式的操作界面,那么你可以单击“设置”“属性”,选择 用户界面模式为“锚接的窗口”即可。上图即为锚接的形式。 第一步是创建子窗口部件并且把它们放置到窗体中。先将对话框界面上默认产生的一个标签 和两个按钮删除,按照图1,我们创建两个标签(Label)、两个行编辑器(Line

4、 Edit)和两个按钮 (PushButton)。对于这里的每一项,可先从Qt设计师的窗口部件工具箱中拖拽其名字或者图表并 将其放到窗体中的大概位置。现在不必为怎么摆放这些部件花费太多的时间,稍后我们使用Qt的 布局管理器,可以把这些部件摆放好。 使用Qt设计师的属性编辑器(图2中右中部分)可以设置每一个窗口部件的属性: 1. 单击第一个文本标签, 设置它的objectName的属性为 “label1” , text属性设置成” User private slots: void enableLoginButton(const QString /槽函数的声明 void login(); /槽函数

5、的声明 ; #endif 当然,既然有函数声明,也应该有实现,我们打开qqLoginDlgimpl.cpp文件,在文件的最后 添加上面两个槽函数的实现代码,最后的文件内容如下: #include #include “qqLoginDlgimpl.h“ / QQLoginDlgImpl:QQLoginDlgImpl( QWidget * parent, Qt:WFlags f) : QDialog(parent, f) setupUi(this); void QQLoginDlgImpl:enableLoginButton(const QString void QQLoginDlgImpl:lo

6、gin() QString userName = userNameLEdit-text(); QString password = passwordLEdit-text(); if(“888888“=userName) if(“888888“=password) QMessageBox:information(this,tr(“Congratulation“),tr(“welcome!“); else QMessageBox:information(this,tr(“warning“),tr(“password invalide!“); else QMessageBox:information

7、(this,tr(“warining“),tr(“this user is not exist!“); / login函数的实现很简单,如果输入的用户名是“888888”,口令也一样,则显示欢迎,否 则显示相应的出错信息。 好了,大功告成,可以运行测试一下了。 4.3 Qt提供的控件和对话框类 Qt 提供了许多控件和对话框类,可以满足多种情况的需要。这一节将对它们进行介绍。有 些特殊的控件如:QMenuBar,QToolBar 和 QStatusBar 主窗口类控件在第五讲介绍,QSplitter 和 QScrollArea 在第六讲介绍。在下面即将介绍的控件中,用透明的方式显示其外观。 Qt

8、 提 供 四种 方式 的 按钮 : QPushButton, QToolButton, QCheckBox, 和 QRadioButton. QPushButton 和 QToolButton 主要用来提供点击动作,可以做为套索按钮(点击时显示按下的状 态,再次点击后恢复) 。QCheckBox 可以用来表示开关选项。QRadioButtons 一般是多个组合起来 一起使用,提供一个单一的选择。 Qt 提供的容器类控件可以容纳其他的控件。QFrame 可以单独使用,可以在其上画直线 等,它也被其他许多控件类继承,如 QToolBox 和 QLabel。 QTabWidget 和 QToolBo

9、x 是多页对话框,每一页都是一个子控件,页数从 0 开始。列表视图 一般处理 大量数据,经常需要 使用滚动条来显示全 部内容。滚动条机制 的基 类是 QAbstractScrollArea,是视图类和其他滚动控件的基类。 Qt 还提供只显示信息的控件,QLabel 是用的最多的,它可以用来显示文本,显示带有 html 格式的文本,还可以显示图片。 QTextBrowser 显示图片,表格,多文本连接等。Qt Assistant 就是使用 QTextBrowser 显示用 户文档。 Qt 提供这样一些数据输入的控件。QLineEdit 只可输入许可器允许的字符。QTextEdit 是 QAbst

10、ractScrollArea 的子类,可以输入多行文本。 Qt 还提供了多种普通的对话框, 可以方便的选择颜色, 字体, 文件, 打印文档等。 Windows , Mac OS X 等不同平台上的普通对话框尽可能和平台控件风格一致。 Qt 提供了很多信息显示对话框和错误提示对话框。程序的进行状态可以用 QProgressDialog 和 QProgressBar 显示。QInputDialog 可以方便的让用户输入一行文本或者数字。 这些控件和对话框提供了很多方便的函数,大部分特殊的要求可以通过设置控件属性或者通 过信号和槽连接完成。 有时候有些用户需要从零开始新建一个新自定义控件。在 Qt 中可以使用所有平台无关的绘 制函数。自定义控件还可以集成到 Qt Desinger 中,象 Qt 原有提供的控件一样使用。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号