python如何使用qtdesigner设计的ui?
OS X·埃尔·卡皮坦
Python 3.5.1
PyQt 5.5.1
PyCharm 5.0.1
序
在PyQt5系列的第一篇文章(h50218157)中,我们搭建了一个开发环境。今天我们就用Python开发第一个Qt GUI程序,让大家感受Qt开发的魅力,熟悉Qt开发GUI程序的一般流程。
制作一个程序UI界面一般有两种方式,使用UI工具和纯代码编写,比如移动开发中的Android和iOS,我们在PyQt5中也有这两种方式。
QtDesigner工具简介
QtDesigner是专门用来制作Qt程序UI的工具。使用起来非常简单。可以通过拖拽点击完成复杂的界面设计,也可以随时预览效果图。
其中,区域1是UI界面制作定向,QtDesigner为我们提供了一些常用的模块,非常方便;区域2是UI控件列表;区域3是控制属性列表;区域4是动作编辑器的编辑列表;编辑区域5中信号和插槽的列列表;区域6是资源处理窗口。
第一个PyQt5程序
说了这么多,不如去实践。
这是我们第一个PyQt5项目的界面渲染。需要实现的是,点击界面上的按钮,会弹出一个提示框,提示框里显示一串文字。
好了,目标定了,我们马上开始实现。
QtDesigner设计用户界面
基于主窗口模块创建一个UI文件,名为firstPyQt5.ui从小部件框中找到(或拖动)一个按钮,调整其位置,在按钮上输入文本,调整其字体和大小,这些都可以在属性编辑器中操作。在弹出框上点击按钮的操作会引出Qt中一对非常重要的概念,即信号和槽。我打算就此再开一篇博文。现在你只需要知道slot是一个函数。如果一个信号被绑定到一个槽,那么该信号被触发,该槽将被执行。
那么问题来了,如何在QtDesigner中绑定signal和slot?在菜单栏中打开“编辑”->“编辑信号/槽位”,然后将光标移动到按钮上,点击“拖放”,会弹出一个编辑框。
因为是点击,信号选择了clicked(),slot功能还不可用,所以我们会点击编辑新建一个名为firstPyQt5_button_click()的。
为了演示资源文件的使用,这里导入了两张图片,一张用于主窗口,另一张用于帮助菜单项中的操作。
在QtDesigner引用资源文件之前,需要准备一个qrc文件,类似于xml文件,用来确定资源文件的路径。
& ltRCC version="1.0 " >
& ltqresource & gt
& lt文件& gtqt.png & lt/file & gt;
& lt文件& gtpenguin.jpg & lt/file & gt;
& lt/qresource & gt;
& lt/RCC & gt;
接下来,可以将qrc文件倒入QtDesigner的资源浏览器中,这样就可以使用qrc文件中描述的资源了。
将firstPyQt5.ui转换成python代码。
很简单,通过Qt提供的命令行工具PUIC 5就可以轻松实现。
pyui C5-o first pyqt 5 . py first pyqt 5 . ui
创建PyCharm项目
使用以下代码创建一个新的python文件main.py。
# -*-编码:utf-8 -*-
__author__ = 'djstava@gmail.com '
导入系统
来自PyQt5。QtWidgets导入QApplication,QMainWindow
从firstPyQt5导入*
if __name__ == '__main__ ':
'''
主要功能
'''
app = QA application(sys . argv)
mainWindow = QMainWindow()
ui = Ui_mainWindow()
ui.setupUi(主窗口)
mainWindow.show()
sys.exit(app.exec_())
接下来修改firstPyQt5.py文件,主要是实现slot功能,因为之前在QtDesigner中没有实现,让它弹出一个消息框。
def firtPyQt5_button_click(自身):
Qtwidgets。qmessagebox.information (self。按钮,“标题”,“这是第一个PyQt5 GUI程序”)。
最后运行下一个项目。
这里ui文件一般保存为单个文件,方便更新。