PyQt5 教科书级完整教程(一)安装与入门

这篇具有很好参考价值的文章主要介绍了PyQt5 教科书级完整教程(一)安装与入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装与环境配置

1.1 外部库下载

首先对于PyQt5的开发,大多数人使用PyCharm来进行。因为PyCharm很好地集成了一些拓展功能,大大降低了开发难度。
我们在PyCharm中利用conda快速创建好虚拟环境pyqt5后,打开软件下方的Terminal,进入虚拟环境下的命令行界面。

PyQt5 教科书级完整教程(一)安装与入门
依次输入:

pip install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple #推荐使用清华源~
pip install PyQt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple

安装成功即可。

1.2 Pycharm 配置

1.2.1 Qt Designer

这里我们配置Pycharm,使我们可以在Pycharm中很方便地开打QtDesigner。

建议先下载一个everything,用来搜索电脑的文件。
PyQt5 教科书级完整教程(一)安装与入门
打开everything,搜索designer.exe,找到虚拟环境pyqt5中的文件,复制其路径。
PyQt5 教科书级完整教程(一)安装与入门
在Pycharm中,打开设置-工具-外部工具,添加如下:

Name: QtDesigner
Group: Qt
Program: 刚刚找到的designer.exe的完整路径
Working directory: $ProjectFileDir$

PyQt5 教科书级完整教程(一)安装与入门
之后,就可以很方便的打开Qt Designer了:

1.2.2 PyUIC

除了要配置QtDesigner外,还需要配置一个用来将Qt Designer生成的.ui文件换成.py文件的转换器:PyUIC。
依然在刚刚的外部文件配置路径 File - Settings - Tools - External Tools,点击 + Create Tool,配置如下:

Name: PyUIC
Group: Qt
Program : C:\Python38\python.exe # 当前Python目录,请根据实际修改
Arguments: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $FileDir$

PyQt5 教科书级完整教程(一)安装与入门
若我们在Tools - Qt中正常打开QtDesigner,说明安装成功。
PyQt5 教科书级完整教程(一)安装与入门

1.2.2 Pyrcc

Pyrcc 是用来管理外部资源(如图片)的工具。类似PyUIC的做法:

Name: Pyrcc
Group: Qt
Program : ...\pyrcc5.exe # 当前虚拟环境中pyrcc5.exe目录,请根据实际修改
Arguments: $FileName$ -o $FileNameWithoutExtension$_rc.py
Working directory: $FileDir$

PyQt5 教科书级完整教程(一)安装与入门

1.2.3 pyhton 程序打包

安装pipinstaller,用于文件打包:

pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple

生成main.py文件,内容如下:

def print_hi(name):
    # Use a breakpoint in the code line below to debug your script.
    print(f'Hi, {name}')  # Press Ctrl+F8 to toggle the breakpoint.


# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    print_hi('PyCharm')

在上面提到的 Terminal 命令行界面中输入:

pyinstaller -F main.py

常用可选项及说明:
-F:打包后只生成单个exe格式文件;
-D:默认选项,创建一个目录,包含exe文件以及大量依赖文件;
-c:默认选项,使用控制台(就是类似cmd的黑框);
-w:不使用控制台;
-p:添加搜索路径,让其找到对应的库;
-i:改变生成程序的icon图标。

即可对main.py文件进行打包,exe文件生成在dist文件夹中。

此时,由于我们打包的文件没有UI界面,双击exe后会快速闪退,我们需要在cmd中打开文件,看到输出如下:
PyQt5 教科书级完整教程(一)安装与入门

注意,若需要使用虚拟环境中的其他库,以及项目内import的相关py文件,则需要使用以下命令:

pyinstaller -F -w pyqt5_test.py -p C:\Users\Administrator\anaconda3\envs\SyQuant\Lib\site-packages --hidden-import C:\Users\Administrator\Desktop\pyqt5

其中,前一个路径为虚拟环境的包路径,后一个路径为项目文件路径。

二、快速入门

2.1 整体流程

这里,我们通过一个实例快速上手 QtDesigner 以及 Python程序的打包(exe文件)操作。

首先,在 Tools-Qt 中打开 QtDesigner;
PyQt5 教科书级完整教程(一)安装与入门
创建Main Window
PyQt5 教科书级完整教程(一)安装与入门
在左边Widget Box中,随便拖拽两个组件。
PyQt5 教科书级完整教程(一)安装与入门
按下ctrl + R 可进行预览。
然后点击保存,文件默认的保存路径即是当前项目文件的路径。
保存后关闭QtDesigner,返回pycharm。
右键刚刚保存的ui文件,在下栏中点击PyUIC,将文件转为py文件格式。
PyQt5 教科书级完整教程(一)安装与入门
可以看到test1已经自动编译成了py文件。
此后,我们在main.py文件内输入如下代码:

import sys
from test1 import *

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    mainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(mainWindow)
    mainWindow.show()
    sys.exit(app.exec_())

运行,即可出现ui界面。
PyQt5 教科书级完整教程(一)安装与入门
最后,在下面Terminal命令行终端中,运行如下:

pyinstaller -F -w main.py -p 你的虚拟环境地址\Lib\site-packages --hidden-import 你的项目文件地址\pyqt5

即可在项目文件的dist子文件夹内生成打包的exe文件。
PyQt5 教科书级完整教程(一)安装与入门
双击该文件,即可打开UI界面。

至此,你的第一个基于PyQt5制作的软件完成啦~
当然,现在点击软件内的按钮不会有任何反应,这需要我们后面的学习,来深入了解界面的交互制作。

2.2 Qt Designer入门

上一节中,我们只是简单了解了Qt Designer的作用和文件制作流程,这里,我们使用Qt Designer生成一个简单但实际有用的UI窗口。

我们先将对应组件拖拽至MainWindow中
PyQt5 教科书级完整教程(一)安装与入门
双击相应组件,修改其内容文本:
PyQt5 教科书级完整教程(一)安装与入门
点击组件,我们可以在右侧属性栏中的geometry中,看到其X、Y坐标参数,以及组件的宽度高度参数,我们也可以手动修改参数(当然,一般不需要手动改)
PyQt5 教科书级完整教程(一)安装与入门
到这里我们首先会发现,组件没有自动对齐,手动拖拽会使界面很不美观。可以先用鼠标全选组件,再右键,在布局中找到栅格布局。
PyQt5 教科书级完整教程(一)安装与入门
即可将他们自动对齐。
PyQt5 教科书级完整教程(一)安装与入门
同时,若想在他们中间空出一些距离,可以先右键打破布局,再在不同组件之间插入Horizontal Spacer(用来控制组件之间的水平距离)和 Vertical Spacer(用来控制组件之间的垂直距离)。
PyQt5 教科书级完整教程(一)安装与入门
之后再全部选中,设置水平布局,即可得到比较理想的结果。
PyQt5 教科书级完整教程(一)安装与入门
我们先记住 收益-最小值 那个数字框的objectName,然后可以保存退出。
PyQt5 教科书级完整教程(一)安装与入门
按照之前的做法,将test1.ui文件变为test1.py文件。
在main文件中,我们使用如下代码:

import sys
from test1 import *
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QMainWindow, QApplication


class LayoutDemo(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(LayoutDemo, self).__init__(parent)
        self.setupUi(self)

    @pyqtSlot()
    def on_pushButton_clicked(self):
        print('收益_min:', self.doubleSpinBox.value()) # 注意,这里的doubleSpinBox是刚刚记下的 收益-最小值 那个数字框的objectName


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ui = LayoutDemo()
    ui.show()
    sys.exit(app.exec_())

运行程序,设置一个收益的最小值,点击应用,即可在控制台看到print的输出。
PyQt5 教科书级完整教程(一)安装与入门

2.3 信号和槽入门

信号和槽是Qt的核心机制,也就是当我们点击一个按钮时,按钮会向后台发射一个信号,槽用于接收信号,系统根据事先设定好的槽函数返回响应结果。
我们先大概体验一下信号和槽机制。
新拖入一个按钮,并设置好名称。
PyQt5 教科书级完整教程(一)安装与入门
点击上方 编辑信号/槽 功能,再用鼠标随意拖动刚刚新建的“关闭”按钮,再跳出的配置链接中,勾选显示从QWidget 继承的信号和槽。之后选择 clicked() 操作,并选择 close() 作为响应。意思是当我们点击这个按钮,则关闭窗口。
PyQt5 教科书级完整教程(一)安装与入门
PyQt5 教科书级完整教程(一)安装与入门
完成后保存文件,并把ui文件转为py文件,再次运行之前的主函数。
PyQt5 教科书级完整教程(一)安装与入门
当我们点击关闭时,窗口自动关闭~~

2.4 快速进阶

这里,我们再快速学习一些深入但简单的功能。
我们在MainWindow中右键,选择添加菜单栏,双击菜单栏上的在“这里输入”。我们依次输入“文件(&F)”、“编辑(&E)”,其中(&F)用来设置快捷键。完成后,如下图所示:
PyQt5 教科书级完整教程(一)安装与入门
我们再在文件菜单中新建几个子菜单:
PyQt5 教科书级完整教程(一)安装与入门
我们也可以在右下角的动作编辑器中设置快捷键。
PyQt5 教科书级完整教程(一)安装与入门
接下来,我们在MainWindow中右键,选择添加工具栏。此时工具栏不像菜单栏一样,是不可编辑的。
我们需要先在工作编辑器中新建一个动作:
PyQt5 教科书级完整教程(一)安装与入门
完成后,将新动作拖拽到工具栏中。
PyQt5 教科书级完整教程(一)安装与入门
保存并转为py文件后,我们在main.py文件中输入如下代码并运行:

import sys
from test1 import *
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QFileDialog


class LayoutDemo(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(LayoutDemo, self).__init__(parent)
        self.setupUi(self)
        self.action.triggered.connect(self.openMsg) #这里是action是上面菜单栏中 “打开” 动作的名称

    def openMsg(self):
        file, ok = QFileDialog.getOpenFileNames(self, '打开', 'C:/', 'All Files (*);;Text Files (*.text)')
        self.statusbar.showMessage(file)

    @pyqtSlot()
    def on_pushButton_clicked(self):
        print('收益_min:', self.doubleSpinBox.value())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ui = LayoutDemo()
    ui.show()
    sys.exit(app.exec_())

运行后,在程序中点击打开,即可显示文件打开窗口:
PyQt5 教科书级完整教程(一)安装与入门
再深入一下,我们介绍一个在当前窗口中嵌入另一个窗口的方法。

我们在Qt designer中,不用关闭之前的设计文件,直接在左上角文件栏下,新建一个Widget窗口,添加一个text Edit组件,并保存为test1_1.ui。同时在MainWindow中添加一个Grid Layout(名称为 gridLayout_2):
PyQt5 教科书级完整教程(一)安装与入门
将两个ui文件保存并转为py文件后,在main.py中输入如下代码,并运行:

import sys
from test1 import Ui_MainWindow
from test1_1 import Ui_Form
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QFileDialog


class ChildrenForm(QWidget, Ui_Form):
    def __init__(self):
        super(ChildrenForm, self).__init__()
        self.setupUi(self)


class LayoutDemo(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(LayoutDemo, self).__init__(parent)
        self.setupUi(self)
        self.action.triggered.connect(self.openMsg)

        self.child = ChildrenForm()
        self.addWinAction.triggered.connect(self.childShow)

    def childShow(self):
        self.gridLayout_2.addWidget(self.child)
        self.child.show()

    def openMsg(self):
        file, ok = QFileDialog.getOpenFileNames(self, '打开', 'C:/', 'All Files (*);;Text Files (*.text)')
        self.statusbar.showMessage(file)

    @pyqtSlot()
    def on_pushButton_clicked(self):
        print('收益_min:', self.doubleSpinBox.value())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ui = LayoutDemo()
    ui.show()
    sys.exit(app.exec_())

当我们我们点击添加窗口后,就会出现刚刚添加的子窗口。
PyQt5 教科书级完整教程(一)安装与入门

2.5 使用资源文件

最后,我们希望再给程序加入一个背景图片作为收尾。
我们先在项目目录中,新建一个文件 aa.qrc。然后在Qt Designer中依次进行如下操作。点击资源管理器,导入刚刚建立的资源管理文件,在文件中新建一个 “pic” 分组,在组内添加图片文件,在点击OK保存。
PyQt5 教科书级完整教程(一)安装与入门
此后,我们可以在资源管理器中看到新添加的图片:
PyQt5 教科书级完整教程(一)安装与入门
而次图片并不能直接使用,需要在label组件内插入。我们新拖拽一个label组件,在其pixmap属性中添加图片。
PyQt5 教科书级完整教程(一)安装与入门
我们将label放大到完整的图片尺寸,并将其置于最底层,结果如下所示:
PyQt5 教科书级完整教程(一)安装与入门
保存后,我们依然将ui文件转为py文件。
但此时,需要多一步,将qrc文件转为py文件。
PyQt5 教科书级完整教程(一)安装与入门
再运行主函数,就可以看到最终的结果啦!
PyQt5 教科书级完整教程(一)安装与入门
至此,我们完成了快速入门的全部内容!接下来,大家一起深入学习不同的控件属性、信号操作以及其内在原理。

下一章节:PyQt5 教科书级完整教程(二)Qt Designer 详细教程
将开始深入讲解Qt Designer的详细功能文章来源地址https://www.toymoban.com/news/detail-416130.html

到了这里,关于PyQt5 教科书级完整教程(一)安装与入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PyQt5入门(一)——PyQt5与QtDesigner的安装

    首先,需要确保你已经安装了Python和PIP,因为使用PIP来安装PyQt5是最简便的方法。以下是在Windows和Ubuntu环境下配置并安装PyQt5以及QtDesigner的步骤: 打开命令提示符(CMD)。 运行以下命令安装PyQt5:pip install pyqt5 安装完成后,在命令提示符中运行“python”命令,然后输入“im

    2024年02月02日
    浏览(52)
  • PyQt5入门1——PyQt5的安装与Hello World应用

    搞搞可视化界面哈,虽然不一定有用,但是搞一下。 PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。 PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版

    2024年02月12日
    浏览(59)
  • PyQt5安装教程

    PyQt5 不在提供常用的Qt工具,比如图形界面开发工具 Qt Designer、国际化翻译 工具 Liguist,所以还需要使用如下命令安装常用的Qt工具。 使用pip install 命令安装PyQt5、PyQt5-tools 成功后,会在site-packages目录下看到安装PyQt5、PyQt5-tools,如下图所示:  为了让windows系统能够正确识别

    2024年02月01日
    浏览(62)
  • 【Python】pyqt5入门教程之第一个UI界面

    1.pyqt5工具安装 (1)使用pip工具安装PyQt5工具: (2)安装Qt Designer图形界面开发工具: 安装完成后所在路径 (3)安装QtDesigner 安装完成后所在路径 designer.exe路径 启动QtDesigner 2.第一个QT窗口程序 Pycharm配置 找到py文件,右键External Tool — QTDesigner—就可以启动 QTDesigner .ui文件转换

    2024年02月15日
    浏览(47)
  • Python——Pyqt5的数据可视化小工具(完整代码)

    作业要求:【都已经打包放网上了,有缘人需要就自取】 一份报告书 (在全球变暖背景下碳中和对各国的二氧化碳排放量的影响项目报告书) 一份代码 作业包: python数据可视化小工具.zip - 蓝奏云 大一的时候,当时的python作业,交完作业后,忘记记录了(难受.jpg) 现在大

    2024年02月02日
    浏览(51)
  • PyQt5数据库开发3 6 QSqlQuery完整实操案例【图文详解】

    目录 一、Qt主窗体设计 1. 新建Qt项目 2. 添加一个tableview  3. 添加资源  4. 添加Actio

    2024年02月02日
    浏览(54)
  • PyQt5 快速入门(一)

    第一节按钮控件,文本控件,输入框,app图标 文章目录 一.GUI按钮控件 二.文本控件  三.输入框   四.让窗口显示在屏幕中央  五.让窗口显示在屏幕中央 总结   快速入门第一节

    2024年01月23日
    浏览(46)
  • 【Python】PyQt5入门

      最近接了一个小项目,主要任务是完成一个界面的设计,而且是基于Python,我第一反应就是使用大名鼎鼎的Qt来设计。Qt最早是用C语言开发的,但是后来也有了基于Python的第三方包,目前最新版是PyQt6.3,但是这个项目中使用的还是普及度更高的PyQt5。正好我也比较喜欢P

    2024年02月07日
    浏览(45)
  • [Python GUI PyQt] PyQt5快速入门

    本文为博主个人对自己学习 PyQt5 GUI技术的纲要式的总结,主要的目的是以比较宏观的视角再次对 PyQt5 这一项技术作一次总结,通过该文可以快速让读者建立起 PyQt5 最基本的知识体系,了解 PyQt5 的 基本界面的设计 、 信号与槽 和 多线程 等知识,并简单学会使用 Qt Designer 工

    2024年04月15日
    浏览(53)
  • PyQt5新手教程(五万字)

    编程式UI: 详细介绍了每个组件的属性,可以当作百科书学习一波 可视化UI : PyQt5 保姆级教程(从入门到精通) PyQt5 小白从零开始(汇总篇) PyQt5 快速上手(基础知识) PyQt5 快速入门(bilibili视频教程) (1) 可视化UI :基于Qt Designer可视化编辑工具进行组件拖放、属性设

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包