GUI库:PyQt5

1.PyQt5简介

PyQt是基于QT的Python封装,标准的QT开发使用的是C++语言,开发效率比较低,而使用Python语言进行封装后,开发效率也大大提升。并且还可以进行可视化的开发。
PyQt是英国的Riverbank Computing公司开发的一套封装QT程序库的Python GUI库。
PyQt5有两种版本:GPL(开源)和商业授权。

PyQt5的模块
1. QtCore:包含了核心的非GUI功能。
2. QtGui:包含了窗口系统、事件处理、2D图像等。
3. QtWidgets:包含了一系列创建桌面应用的UI元素

2.安装PyQt5

在使用PyQt5开发GUI程序之前,首先要安装PyQt5。包括PyQt5的运行环境,以及用于可视化开发的QTDesigner,用于将 .ui文件转化为Python代码的PyUIC.

2.1 PyQt5开发环境搭建

方法一:下载PyQt5的源代码:
https://www.riverbankcomputing.com/software/pyqt/download5
下载完之后,按说明配置和编译PyQt5的源代码:
;(不推荐)
方法二:

pip install pyqt5

pip unstall pyqt5

安装完成后,运行Python命令,进入Python的REPL环境,输入import PyQt5,按Enter键后,如果没有抛出异常,说明PyQt5已经安装成功。

2.2 配置QTDesigner(可视化开发)

QTDesigner是用于可视化开发的工具,在QT安装包中。在使用QTDesigner之前,先要安装QT
方法一:下载QT的在线安装版本(请选择开源版本)
https://www.qt.io/download
方法二:下载QT的离线安装包,请选择相应的操作系统版本
https://download.qt.io/archive/qt
如果使用的是Anaconda Python开发环境,不需要安装QT,因为Anaconda中已经集成了QTDesigner。
1.苹果系统版本的Anaconda,QTDesigner路径:<Anaconda根目录>/bin/Designer.app
2.windows:<Anaconda根目录>\Library\bin\designer.exe
得到QTDesigner–>选择Python IDE,将QTDesigner与Python IDE关联,也就是在Python IDE中调用QTDesigner。
将QTDesigner添加到pycharm的扩展工具中。
步骤:
pycharm–> File–> Settings–> Tools–> External Tools(在右侧会显示当前所有的扩展工具,默认是空)–> 单击加号(+)按钮添加一个扩展工具–> 弹出Create Tool。
在这里插入图片描述
Working directory–designer.exe工作路径,设置为 $ProjectFileDir$

完成以上工作后,关闭Create Tool对话框以及 Preference窗口,看到Pycharm–>Tools–>External Tools–>QTDesigner–>单击(启动)。
在这里插入图片描述
1.第一次启动QTDesigner–>询问要建立哪种类型的窗口(这里选择Main Window)–>单击“创建”按钮。
新建窗口后,会出现一个空的窗口。
在这里插入图片描述
2.在窗口的左侧出现一个 “窗口部件盒” 窗口,如下图所示:
在这里插入图片描述
3.从 “窗口部件盒” 上可以拖动相应的控件到上面创建的空的窗口上,拖动效果如下图所示:
在这里插入图片描述
4.按Ctrl+S(windows)或者Command+S(Mac OS X)键保存窗口 -->会将窗口保存成一个扩展名为 “ .ui ”的文件,这是窗口布局文件。
建议:先用Pycharm建立一个Python工程,然后将.ui文件放到工程目录,这样使用起来更方便

2.3 配置PyUIC(命令行工具)

将设计好的窗口保存成.ui 的文件,但是这个.ui 文件并不能被Python直接使用,需要用工具将这个.ui文件转换为Python源代码文件(.py文件),这个工具就是PyUIC。
在pycharm上配置PyUIC与配置QTDesigner类似,
在这里插入图片描述
方法一:

name----PyUIC

Program:/Users/lining/ancounda/bin/python.exe

Arguments:$FileName$ -o $FileNameWithoutExtension$.py

Working dirctory:  $FileDir$

方法二:
PyQt的安装目录的bin子目录有一个pyuic5命令,直接执行这个命令也可以将.ui文件转换为.py文件。

name----PyUIC

Program:PyUIC位于当前解析器的Scripts\pyuic5.exe

Arguments:$FileName$ -o $FileNameWithoutExtension$.py

Working dirctory:  $FileDir$

不管使用那种配置,在External Tools菜单项中都会多出一个PyUIC子菜单项。
假设保存的.ui文件名为main.ui。
1.在工程目录中选中该文件
2.右击弹出的快捷菜单中选择External Tools–>MyUIC菜单栏(就会在当前目录生成一个main.py文件,打开该文件全是Python代码,这些代码是从XML格式的main.ui文件转换为Python语言格式的,转化后的目标代码是使用Python代码动态创建main.ui上的控件。)转换后的Python工程目录结构如图所示:
在这里插入图片描述
main.py文件中只包含了一个名为Ui_MainWindow的类,在这个类的setupUi方法中创建了所有的控件,不过这个类还不能直接运行,需要在Test.py文件中输入如下代码才能启动程序。

# QApplication,QMainWindow这两个类都在PyQt5.QtWidgets模块中
import sys
import main.py
from PyQt5.QtWidgets import  QApplication,QMainWindow

if __name__ == "__main__":
    app = QApplication(sys.argv)  #QApplication类的实例相当于整个应用程序 
    MainWindow = QMainWindow()
    ui = main.Ui_MainWindow()

    ui.setupUi(MainWindow)   # 调用setupUi方法动态创建控件
    MainWindow.show()        # 显示窗口
    sys.exit(app.exec_())    # 当窗口关闭后会退出程序

现在选中Test.py文件,运行,会显示窗口。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少云清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值