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文件一般保存为单个文件,方便更新。