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上的本地截图,找到图片所在文件夹,直接在编辑栏拖拽即可)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码