GUI库:PyQt5

简介: 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。


20191220105844156.png


Working directory–designer.exe工作路径,设置为 $ProjectFileDir$


完成以上工作后,关闭Create Tool对话框以及 Preference窗口,看到Pycharm–>Tools–>External Tools–>QTDesigner–>单击(启动)


2019122011052483.png


1.第一次启动QTDesigner–>询问要建立哪种类型的窗口(这里选择Main Window)–>单击“创建”按钮。


新建窗口后,会出现一个空的窗口。


20191220111142960.png

2.在窗口的左侧出现一个 “窗口部件盒” 窗口,如下图所示:

20191220111214972.png


3.从 “窗口部件盒” 上可以拖动相应的控件到上面创建的空的窗口上,拖动效果如下图所示:


20191220111553600.png


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类似,


20191220151125783.png


方法一:

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工程目录结构如图所示:


20191220223306591.png


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文件,运行,会显示窗口。

目录
相关文章
|
6月前
|
数据可视化 Linux C++
Python GUI编程:Tkinter与PyQt的选择
Python作为一门流行的编程语言,在GUI编程领域也有着非常强大的工具。其中,Tkinter和PyQt是两个备受推崇的GUI库。本文将介绍这两个库的优缺点,并帮助读者决定应该选择哪一个。
|
图形学 Python 容器
『PyQt5-基础篇』| 04 Qt Designer的初步快速了解
『PyQt5-基础篇』| 04 Qt Designer的初步快速了解
215 1
|
19天前
|
数据可视化 开发者 Python
Python GUI开发:Tkinter与PyQt的实战应用与对比分析
【10月更文挑战第26天】本文介绍了Python中两种常用的GUI工具包——Tkinter和PyQt。Tkinter内置于Python标准库,适合初学者快速上手,提供基本的GUI组件和方法。PyQt基于Qt库,功能强大且灵活,适用于创建复杂的GUI应用程序。通过实战示例和对比分析,帮助开发者选择合适的工具包以满足项目需求。
63 7
|
4月前
|
安全 Python
|
6月前
|
开发框架 程序员 开发者
Python GUI编程:从入门到精通3.2 GUI编程:学习使用Tkinter、PyQt或wxPython等库创建图形用户界面。
Python GUI编程:从入门到精通3.2 GUI编程:学习使用Tkinter、PyQt或wxPython等库创建图形用户界面。
107 1
|
6月前
|
数据可视化 API 开发者
Python中的图形界面开发:Tkinter、PyQt或wxPython入门
Python中的图形界面开发:Tkinter、PyQt或wxPython入门
215 0
|
6月前
|
Python
Python GUI编程的两种选择:Tkinter与PyQt
Python作为一门流行的编程语言,其GUI编程也备受关注。在GUI编程中,Tkinter和PyQt是两种常见的选择。本文将从简介、使用、优缺点等多个方面对比这两种框架,以帮助读者选择适合自己的工具。
|
API Python
Python中的GUI编程:Tkinter和PyQt入门指南
图形用户界面(GUI)是用户与计算机交互的一种方式,Python提供了多个库用于实现GUI应用程序。其中,Tkinter和PyQt是两个常用的GUI库。本文将介绍如何使用Tkinter和PyQt进行Python中的GUI编程。
|
IDE Java 开发工具
安装PyQt5以及designer Pyside
安装PyQt5以及designer Pyside
280 0
安装PyQt5以及designer Pyside
|
人工智能 数据可视化 程序员
Python GUI图形界面中Qt和wxWidgets区别是什么?
Python中有很多GUI可视化界面的操作,通过打包成方便我们操作的exe界面