Pyqt5_安装和初步使用
PyQt5
1、PyQt5、Pyinstaller安装配置
1.1安装
#安装pyqt5和拓展工具的的包
pip install PyQt5 -i https://pypi.douban.com/simple
pip install PyQt5-tools -i https://pypi.douban.com/simple
#安装pyqt5打包程序,可以将程序打包成exe
pip install pyinstaller
1.2环境变量配置
把PyQt5-tools的安装目录添加到系统环境变量Path中

测试是否安装成功
import sys
from PyQt5 import QtWidgets, QtCore
app = QtWidgets.QApplication(sys.argv)
widget = QtWidgets.QWidget()
widget.resize(360,360)
widget.setWindowTitle("hello, pyqt5")
widget.show()
sys.exit(app.exec_())
出现这种窗口则安装成功
(注:pycharm中F9可以指定当前文件运行)

1.3在pycharm上配置
在pycharm上配置qt工具,可以更加方便的使用qtdesigner,转换文件,打包文件
File->Settings->Tools->External Tools

1.3.1配置qtdesigner
Name:可自己定义
program:Qt Designer的安装路径
一般是D:\Program Files (x86)\Python38-32\Scripts\pyuic5.exe
arguements:不填
directory: $FileDir$

1.3.2配置pyuic
补充pyuic命令解析
-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
说明:
-m表示调用某个模块,这里表示调用PyQt5.uic.pyuic模块
$FileName$ 表示需要转换的源文件名称
-o表示生成目标文件
$FileNameWithoutExtension$ 需要转换的源文件名词不包函拓展名
拓展名通过.py使得生成文件是py文件
Name:可自己定义
program:pyuic的安装路径
一般是D:\Program Files (x86)\Python38-32\Scripts\pyuic5.exe
arguements:$FileName$ -o $FileNameWithoutExtension$.py
directory: $FileDir$

1.3.3配置pyinstaller
Name:可自己定义
program:pyinstaller的安装路径
一般是D:\Program Files (x86)\Python38-32\Scripts\pyinstaller.exe
arguements:-F $FileNameWithoutExtension$.py
directory:$FileDir$

2、Qt Designer设计师界面
2.1打开qtdesigner
dialog 对话框窗口 用于子窗口
main window 主窗口 有菜单栏、工具栏。。功能丰富、较复杂
widget 界面 简单通用
窗口部件 更多模板 用于子窗口

2.2工具使用
拖拽部件 点击部件 左侧对象、属性查看
对象查看器 对象名 类名
属性编辑器 可以设置属性
属性 geometry [(x,y),ab] 距离左边像素 距离上像素 宽度高度

使用后保存为.ui文件
2.3pyuic生成文件
命令行使用pyuic5 -o test01.py test01.ui
即pyuic5 -o {输出文件名} {输入designer设计好的.ui后缀界面文件}
如果pycharm配置好,不用命令行输入,在ui文件右击,external tools->pyuic直接运行
配置好的qt工具,在运行过程中相当于在控制台输入命令

生成的代码
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'test01.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
#objectname 窗口名称 窗口是实例化对象
Form.setObjectName("Form")
#设置宽高
Form.resize(400, 300)
#重新转变ui
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
#调用Qtcore
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
2.4实际使用
#导入python系统类库
import sys
#导入pyqt5用到的类库, QApplication应用程序类 QWidget控件基类
from PyQt5.QtWidgets import QApplication, QWidget
#导入生成界面的类模块
import test01
#实例化一个类,构造函数传入python的应用参数
#print(sys.argv) #这里打印包函当前文件绝对路径的列表
app=QApplication(sys.argv)
#实例化界面基类类
w=QWidget()
#实例化生成界面的类 装载
form = test01.Ui_Form()
form.setupUi(w)
w.show()
#app.exec_() 表示程序监听事件的开始,是一个死循环
sys.exit(app.exec_())
3、总结
1、Qtdesigner设计界面与pyuic转换后代码对应关系
2、pyqt5常用函数基本用法
3、如何调用生成界面的思想
(注:添加typora上的本地截图,找到图片所在文件夹,直接在编辑栏拖拽即可)

pyqt5和相关拓展工具的安装和配置,以及初步使用
浙公网安备 33010602011771号