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上的本地截图,找到图片所在文件夹,直接在编辑栏拖拽即可)

posted @ 2022-05-07 15:05  Saint_Z  阅读(242)  评论(0)    收藏  举报