所需环境
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
版权归原作者 pomelo33 所有, 如有侵权,请联系我们删除。