PyQt简介&环境搭建

本文介绍了PyQt,一个基于Qt的PythonGUI开发框架,讨论了其与Qt的关系、许可协议,推荐使用场景,以及如何通过pip安装和解决常见问题,包括VSCode配置PYQT插件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PyQt官网:Riverbank Computing | Introduction

1. PyQt简介

PyQt是一套Python的GUI开发框架,即图形用户界面开发框架.

Python中经常使用的GUI控件集有PyQt、Tkinter、wxPython、Kivy、PyGUI和Libavg

其中PyQt是Qt(c++语言实现的)为Python专门提供的扩展

1.1. Qt

Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面开发框架。
2008年,Qt Company被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。
2012年,Qt被Digia收购。
2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布

1.2. PyQt

  • 基础高性能的Qt的图形界面控件集
  • 能够跨平台运行在windows、linux和macos等系统上
  • 使用信号/槽(signal/slot)机制进行通信(其它语言采用回调方式)
  • 对Qt库的完全封装

1.3. 关于PyQt和PySide

首先推荐的就是PyQt,PyQt是Qt的Python版本,而Qt是一种成熟的GUI开发框架,底层是由C++开发而成,采用PyQt开发GUI,后面可以进一步转C++开发Qt,因此,如果想要入手图形用户界面开发,PyQt是非常推荐的一款框架,需要注意的是,PyQt有两种许可协议,分别是GPLv3许可证和需要购买版权的商业许可证,GPLv3是强开源协议,意味着,如果你的应用程序里面使用了PyQt,那么你的程序必须开源,否则可能收到法院传票,如果想要闭源商用,就必须购买Riverbank Computing公司的商业许可证。

但如果你既想享受Qt的强大功能,又想闭源商用,那么PySide适合你,说到PySide,就不得不说Qt与PyQt之间的恩怨,Qt的研发公司是Nokia,Riverbank Computing公司使用Python封装了Qt研发出PyQt,而PyQt从诞生时就是GPLv3协议,因此Nokia与Riverbank Computing谈判,希望将PyQt的协议修改为LGPLv3,可以带来更多的商业用户,但是两个公司谈崩了,所以Nokia自己重新研发了Py版本的Qt也就是PySide,后来Nokia将Qt和PySide卖给了Digia公司。PySide官网:Qt for Python

总结:

  • 如果不做商业项目,强烈建议使用PyQt,资料多,稳定。全局替换成PySide也很方便。
  • 需要开发闭源商用软件的就用PySide。所有API用起来几乎一样。
  • PyQt5的对应版本是PySide2

2. 通过pip安装PyQt5

  • pip install PyQt5 安装PyQt5
  • pip install PyQt5-tools 安装Qt工具软件
  • pip install PyQt5-stubs 安装PyQt5语法检测包(可选)

安装完成之后可以在Python的安装目录/Lib/site-packages中找到PyQt5目录。

路径示例:%LOCALAPPDATA%\Programs\Python\Python39\Lib\site-packages

如果安装缓慢,请配置pip源:

pip包管理工具-优快云博客

3. 无法运行处理

如果运行PyQt程序报如下错误,不报错不需要配置!:

则将如下变量添加到系统环境中:

QT_QPA_PLATFORM_PLUGIN_PATH

值为:

%LOCALAPPDATA%\Programs\Python\Python39\Lib\site-packages\PyQt5\Qt5\plugins\platforms

重启编辑器或控制台即可

注意这里的%LOCALAPPDATA%\Programs\Python\Python39是你的Python安装路径,如果安装时不是默认路径,请将此部分内容替换成自己的安装路径。

建议直接使用Everything搜索qoffscreen.dll,找到目录

 

4. VSCode配置PYQT插件

安装PYQT Integration插件,可以帮我们自动生成UI相关代码和资源。最好进行如下配置:

  1. 配置.ui生成的.py文件中导入资源的路径:--import-from=ui 指向ui目录
  2. 配置designer.exe可执行程序的路径,例如我的路径:D:\Programs\Python\Python39\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
  3. 在Python安装路径下找designer.exe,建议用everything搜索designer.exe。如果搜不到,请先确保已安装PyQt5-tools, 安装方法:pip install PyQt5-tools

         其他不用变

好的,我可以回答你的问题。对于Python软件页面制作入门,使用PyQt架构可以非常方便地实现界面程序。以下是一个入门示例,介绍如何使用PyQt设计师创建简单的界面程序。 1. 安装PyQt 首先,你需要安装PyQt。你可以使用pip进行安装: ``` pip install pyqt5 ``` 2. 创建一个界面程序 PyQt提供了Qt Designer,一个强大的可视化工具,可以帮助你创建和编辑界面。你可以使用Qt Designer来创建一个简单的界面程序。 在Qt Designer中,你可以添加各种控件,例如按钮、标签和文本框等。在这个示例中,我们将添加一个标签和一个按钮。 3. 将界面程序导出到Python文件 完成界面程序的设计后,你需要将其导出到Python代码中。在Qt Designer中,你可以选择“文件”>“导出”,然后选择“Python代码”作为导出类型。然后,你可以将导出的代码保存到一个.py文件中。 4. 编写Python代码 使用PyQt来编写Python代码,将界面程序与功能代码相结合。在这个示例中,我们将在按钮单击时显示一个消息框。 ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox from ui_mainwindow import Ui_MainWindow class MainWindow(QMainWindow): def __init__(self): super().__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.pushButton.clicked.connect(self.show_message_box) def show_message_box(self): QMessageBox.information(self, "提示", "你单击了按钮!") if __name__ == "__main__": app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) ``` 在这个示例中,我们首先导入QApplication、QMainWindow和QMessageBox类,以及从Qt Designer导出的UI类。 接下来,我们创建一个MainWindow类,继承自QMainWindow,并在其中初始化UI界面。我们还使用connect()函数将按钮的单击事件连接到一个名为show_message_box()的函数上。 最后,我们创建一个QApplication实例,并将MainWindow实例显示出来。在应用程序退出时,我们调用sys.exit()函数。 5. 运行程序 现在,你可以运行程序并测试它是否能正常工作。在命令行中,进入包含你的Python文件的目录,并输入以下命令: ``` python main.py ``` 你应该能够看到一个包含一个标签和一个按钮的窗口。当你单击按钮时,应该会显示一个消息框。 这就是如何使用PyQt和Qt Designer创建简单的界面程序的入门示例。希望这对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值