在Qt编程中,程序员通常都是使用手动编写Python源代码来进行Qt程序开发,但有些程序员也喜欢使用可视化的方法进行对话框设计,因此,Qt为习惯利用可视化方式进行窗口程序设计的程序员提供了Designer,它可以给一个应用程序提供全部或者部分对话框。用Qt Designer设计的对话框和用Python写代码写成的对话框是一样的,可以用作一个常用的工具,并不对编辑产生影响。使用Qt Designer可以方便快速地对对话框进行修改,在对话框经常需要变化的情况下,这是一种很好的方式。使用Qt Designer设计对话框一般都有如下几个步骤:

1)创建窗体并在窗体中放置各种控件。

2)对窗体进行布局设计。

3)设置各控件的标签顺序。

4)创建信号和槽。

5)连接信号和槽。

Qt Designer的启动可以通过命令行运行designer完成,或Windows下的开始菜单完成,启动后界面如下图所示。

Qt Designer提供如下5种表单模板可供选择:

1)底部带“确定”,“取消”按钮的对话框窗体。

2)右侧带“确定”,“取消”按钮的对话框窗体。

3)不带按钮的对话框窗体。

4)Main Window类型窗体。

5)通用窗体。

这里选择创建一种不带按钮的对话框窗体,接下来需要做的就是在窗体中放置各种需要的控件,Qt Designer的设计空间列出了所有控件以及各控件的属性设置窗体。在窗体中放置一个Label和LineEdit,两个PushButton和一个Horizontal Spacer控件,并设置种控件的text属性,如下图所示。在开始向窗体中放置控件时,不用太在意控件对齐与否,只用放置大概位置即可。

接下来对窗体的各个控件进行布局设计,选择位于同一行的所有控件,选择Qt Designer菜单中的“窗体”-->“水平布局”或右击选择“布局”-->“水平布局”,然后选择两个水平布局,右击选择“布局”-->“栅格布局”,完成所选控件的水平布局。完成布局设计后适当调整整个窗体的大小,以适合控件的大小,如下图所示。

然后对各控件的标签顺序进行设置,选择Qt Designer菜单中的“编辑”--> “编辑Tab顺序“,进入标签设置模式,窗体中各个控件上出现一个蓝色的小框,框内的数字表示该控件的标签顺序,即焦点顺序,如下图所示,可以单击蓝色小框修改标签顺序。完成标签顺序设置后选择Qt Designer菜单中的“编辑”-->“编辑窗口部件”离开标签设置模式。

接下来进行信号和槽的连接,选择Qt Designer菜单中的“编辑”-->“编辑信号/槽”,进入信号/槽连接模式,如下图所示。此时单击OK按钮,然后拖动鼠标,可以发现有一根红色的类似接地线的标志线被拖出,松开鼠标,弹出信号/槽的连接配置窗口,如下图所示。

连接配置窗口左侧列出了按钮OK的所有信号,右侧列出了对话框的所有槽,选择OK按钮的clicked()信号和右侧的accept(),单击“确定”按钮,此时完成按钮OK的信号/槽的连接,用同样的方式配置按钮Cancel的信号/槽,如下图所示。

至此,关于Qt Designer的操作就结束了,生成一个.ui文件,保存为9.ui。

然后使用pyuic4命令生成一个py文件,如下图所示。

接下来编写一个9.py主文件来运行这个程序。具体实现代码如下:

fromPyQt4.QtGuiimport*

fromPyQt4.QtCoreimport*

importsys

importui_9

classTestDialog(QDialog,ui_9.Ui_Dialog):

def__init__(self,parent=None):

super(TestDialog,self).__init__(parent)

self.setupUi(self)

app=QApplication(sys.argv)

dialog=TestDialog()

dialog.show()

app.exec_()

运行后分别单击OK和Cancel按钮,执行对话框的accept()和reject()函数,如下图所示。

使用Qt Designer设计对话框是一种简单有效的方法,可以节省设计对话框的时间,而且修改方便,直观,对于初学者来说,这是一种入门的好方法。但随着程序越来越复杂,Qt Designer也有不利的地方:首先,使用Qt Designer生成的代码比较庞大,很多代码是自动生成的,不利于开发者阅读,其次对于初学者而言,使用Qt Designer不利于掌握Qt编程的本质(类似于.NET)。因此,笔者还是建议昼使用手动的方式编写源代码,这样能更好地理解Qt编程的本质,更多地体验Qt编程的乐趣。本书的绝大部分实例都是采用手动编写代码的方式进行实现的。

qtdesigner设计表格_实例9 利用Qt Designer设计一个对话框相关推荐

  1. QT学习 第一章:基本对话框--利用Qt Designer设计多个UI界面

    QT学习 第一章:基本对话框--利用Qt Designer设计多个UI界面 效果截图: 创建上文件夹Designers,使用Designer设计三个UI界面: First.ui Second.ui T ...

  2. distiller的另一个实例正忙于启动_PYQT5学习(02):利用Qt Designer制作第一个窗口程序

    目标 利用Qt Designer设计窗口界面 使用PyUIC把Qt Designer生成的UI文件转换为py文件 使用转换生成的py文件 创建项目 启动启动pycharm并创建项目 这一环节在这里就不 ...

  3. Qt designer设计界面

    1.利用 Qt designer 设计界面,保存为ui文件,例如 test.ui 2.将此文件放入 Creater 工程目录,在.pro 文件末尾处加入语句 FORMS += test.ui 3.点击 ...

  4. qt开发linux界面软件,利用Qt Designer开发Qt界面

    因为这篇文章主要是告诉大家如何利用QT Design来达到快速学习QT的.,所以您最也要做到:您需要有一台可以跑Linux的电脑或者Microsoft Windows的电脑足够的RAM和HardDis ...

  5. HTML5汽车网页设计成品_学生DW汽车静态网页设计代做_web课程设计网页制作_宽屏大气汽车自驾游网站模板html源码...

    HTML5汽车网页设计成品_学生DW汽车静态网页设计代做_web课程设计网页制作_宽屏大气汽车自驾游网站模板html源码 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML ...

  6. HTML5汽车网页设计成品_学生DW汽车静态网页设计代做_web课程设计网页制作_宽屏大气汽车自驾游网站模板html源码

    HTML5汽车网页设计成品_学生DW汽车静态网页设计代做_web课程设计网页制作_宽屏大气汽车自驾游网站模板html源码 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML ...

  7. 从零开始,在pycharm中使用pyqt5和pyqt5-tools和QT Designer设计界面,不用敲代码

    从零开始,在pycharm中使用pyqt5和pyqt5-tools和QT Designer设计界面,不用敲代码 结果功能展示: 根据设计界面自动生成的python代码: from PyQt5 impo ...

  8. PyQt5 图形界面-基础准备:安装Qt Creater、Qt Designer工具,使用Qt Designer设计界面,安装PyQt5工具库

    PyQt5 就是一个把 QtDesigner 设计的界面转化为 python 代码的 python 库. QtDesigner 就是 QtCreater 里的一个功能,所以我们需要安装 QtCreat ...

  9. 响应式网页设计代码_消除响应式网站建设设计中的缺陷

    在过去的5年里,移动流量的份额增长了20%,现在响应式网站设计已经被认为是理所当然的了.到2020年,您可以通过手机几乎可以访问任何网站,它会很好用.大多数用户如果看到一个网站在他们的智能手机或平板电 ...

最新文章

  1. linux 系统 RRDTool安装方法
  2. Ribbon 负载均衡调用04——ribbon 负载均衡算法||手写轮询算法(原理+JUC)CAS+自旋锁
  3. 读CLR via C#总结(7) 以传引用的方式向方法传递参数---refout
  4. Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...
  5. ado.net操作数据库
  6. final 最终 java 1614876717
  7. 多目录Makefile(库及分层目录)
  8. UI设计灵感|996打工人必备,日程计划网页设计
  9. 字段合并_报表数据合并困难?找VBA!数据不标准字段缺失如何合并?找VBA
  10. H.264(MPEG)-4AVC
  11. 线光谱共焦传感器—专注于3D视觉检测
  12. 两台路由器的连接方法和无线路由桥接
  13. Hackthebox靶场连接
  14. 【51nod】---1278 相离的圆(二分排序)
  15. centos 中使用sqlplus 登陆oracle提示bash.sqlplus命令未找到的解决方法
  16. php对接短信宝,php使用短信宝发送短信的方法
  17. 再上一发逻辑炸弹,不一样哦
  18. PLY文件格式及其MATLAB读写操作
  19. toad关联oracle,配置toad远程连接oracle
  20. 数据结构-满k叉树例题

热门文章

  1. SAP APF tile点击之后,都发生了哪些事情
  2. Why expand does not work for complex note
  3. 某互联网公司校园招聘的小组面试题
  4. 动态规划简单应用:斐波那契数列
  5. python发送邮件脚本_python-发邮件脚本
  6. dataframe 如何选中某列的一行_如何用 Python 在笔记本上分析 100GB 数据?
  7. 测试电梯的测试用例_【转】电梯功能的测试用例和测试方案
  8. oracle ctl文件7c1b,批量生成控制文件,用sqlldr自动导入多个表的数据
  9. python lua 性能比较 内存_Lua 的速度为什么比 Python 快?
  10. matlab算线性方程解,MATLAB计算方法3解线性方程组计算解法.pptx