0


PyQt5:入门使用教程

所需环境

  • Windows / linux

  • python3

  • PyQt

安装PyQt5

下面直接使用pip来安装PyQt5,此处可能是pip/pip3,或者两者皆可,后面不再重复

直接pip安装PyQt5

pip install PyQt5

由于Qt Designer已经在Python3.5版本从PyQt5转移到了tools,因此我们还需要安装pyqt5-tools

pip install pyqt5-tools

到这一步,PyQt5就安装完成了,你可以通过下面若干可选的操作来检查是否已经安装成功:

正在上传…重新上传取消

  • Win+S呼出主面板,输入designer,如果看到跟下图类似的结果说明PyQt Designer已经被安装

  • 在cmd中输入pyuic5,如果返回“Error: one input ui-file must be specified”说明安装成功。

使用PyQt5

新建项目

Win+S呼出主面板,输入designer,点击打开。

正在上传…重新上传取消

会弹出以上窗口,可以打开之前编辑过的.ui文件,也可以点击创建一个Main Window。创建好后可以看到如下所示画面

正在上传…重新上传取消

  • 左侧的“Widget Box”就是各种可以自由拖动的组件

  • 中间的“MainWindow - untitled”窗体就是画布

  • 右上方的"对象查看器"可以查看当前ui的结构

  • 右侧中部的"属性编辑器"可以设置当前选中组件的属性

  • 右下方的"资源浏览器"可以添加各种素材,比如图片,背景等等,目前可以不管

添加组件

可以通过拖动左侧的工具到当前画布上,例如我这里选择了几个Push Button以及一个textBrowser。

设计好基本的布局之后,点击左上角文件->另存为,可以生成.ui的文件。建议可以保存到后续需要调用代码的文件夹里。

生成.py文件

cd到.ui文件所在的文件夹,打开cmd,输入以下指令生成如下所示.py文件。

pyuic5 -o name.py name.ui

运行.py文件

生成的py文件是无法直接运行的,我们可以在我们的main文件中写入以下代码,当运行main文件时,我们设计好的ui就会被展示出来。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow

import gui_file_name

if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = gui_file_name.Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_()

配置组件接口

ui展示出来了,但上面的按钮按动后都还是没有反应的。因此现在需要配置一下,设置按钮触发后的动作。

我们需要先在头文件中导入partial

from functools import partial

partial的用法如下所示:

partial(function, arg1, arg2, ......)

在MainWindow.show()后面增加以下代码:

ui.pushButton.clicked.connect(partial(process, arg1, arg2))

其中process是为你希望这个按钮调用的函数,arg1、arg2为函数传入的形参。

再次运行main.py,点击按钮,对应的函数就会执行。这时如果想将打印到控制台的输出显示到添加到textBrowser中,可以添加以下函数:

def print_qt(mes):
ui.textBrowser.append(mes) # 在指定的区域显示提示信息
ui.cursot = ui.textBrowser.textCursor()
ui.textBrowser.moveCursor(ui.cursot.End)
QApplication.processEvents()

替换函数中的print即可。效果展示:

至此,PyQt5大致的操作已经展示完毕。当然其中还包含有很多组件,具体使用方式可以查阅官方文档:QtGui Module | Qt 4.8

标签: python ui 开发语言

本文转载自: https://blog.csdn.net/he_pomelo/article/details/126253294
版权归原作者 pomelo33 所有, 如有侵权,请联系我们删除。

“PyQt5:入门使用教程”的评论:

还没有评论