PyQt5开发环境搭建和配置

PyQt5说明

pyqt5是一套Python绑定Digia QT5应用的框架。它可用于Python 2和3。本教程使用Python 3。Qt库是最强大的GUI库之一。pyqt5的官方网站http://www.riverbankcomputing.co.uk/news

pyqt5的类别模块
名称 描述
QtCore 包含了核心的非GUI功能。此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程。
QtGui 包含类窗口系统集成、事件处理、二维图形、基本成像、字体和文本。
qtwidgets 模块包含创造经典桌面风格的用户界面提供了一套UI元素的类。
QtMultimedia 包含的类来处理多媒体内容和API来访问相机和收音机的功能。
Qtbluetooth 模块包含类的扫描设备和连接并与他们互动。描述模块包含了网络编程的类。这些类便于TCP和IP和UDP客户端和服务器的编码,使网络编程更容易和更便携。
Qtpositioning 包含类的利用各种可能的来源,确定位置,包括卫星、Wi-Fi、或一个文本文件。
Enginio 模块实现了客户端库访问Qt云服务托管的应用程序运行时。
Qtwebsockets 模块包含实现WebSocket协议类。
QtWebKit 包含一个基于Webkit2图书馆Web浏览器实现类。
Qtwebkitwidgets 包含的类的基础webkit1一用于qtwidgets应用Web浏览器的实现。
QtXml 包含与XML文件的类。这个模块为SAX和DOM API提供了实现。
QtSvg 模块提供了显示SVG文件内容的类。可伸缩矢量图形(SVG)是一种描述二维图形和图形应用的语言。
QtSql 模块提供操作数据库的类。
QtTest 包含的功能,使pyqt5应用程序的单元测试
PyQt5工具安装
  • 使用pip工具安装PyQt5工具。执行pip install PyQt5

  • 安装Qt Designer图形界面开发工具。执行pip install PyQt5-tools

  • 相关库的版本号

配置环境变量
变量名:QT_QPA_PLATFORM_PLUGIN_PATH
变量值:"Python的实际安装目录"\Lib\site-packages\pyqt5_tools\Qt\plugins
在pycharm里进行配置

  • 配置Qt Designer。PyCharm -> 菜单File -> Settings -> Tools -> External Tools -> +号,进行添加。 参数配置说明:
// 图3 方便记忆。实际可以任意取值。
Name:startDesigner
// 图4
Description: designer启动
// 图5  designer.exe程序绝对路径。根据实际安装路径填写。
Program:"Python的实际安装目录"\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
// 图6  固定取值
Working directory: $FileDir$

  • 启动后画面

  • designer 中设计的图形界面程序变换成.py的程序配置

  • 配置PyUIC。该工具是用于将Qt Designer工具开发完成的.ui文件转化为.py文件。配置打开路径同Qt Designer。参数配置说明:
// 图3  方便记忆。实际可以任意取值。
Name:PyUIC
// 图4 
Description: QT界面转换成python代码
// 图5 python.exe程序绝对路径。根据实际安装路径填写
Program:"Python的实际安装目录"\python.exe
// 图6  固定取值
Parameters:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
// 图7  固定取值
Working directory: $FileDir$

  • 画一下 生成代码

import sys;

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(400, 300)
        self.pushButton = QtWidgets.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(160, 180, 75, 23))
        self.pushButton.setObjectName("pushButton")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.pushButton.setText(_translate("Form", "PushButton"))

# 我亲手加的
if __name__ == '__main__':
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = Ui_Form()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())
  • 运行效果

命令行打开designer和转换.ui文件
  • 设置designer为桌面快捷方式
    "Python的实际安装目录"\Lib\site-packages\qt5_applications\Qt\bin\designer.exe

  • designer.exe开发完成的界面文件为demo.ui 当前目录下执行

pyuic5 -o demo.py demo.ui
更优秀的文章参考

PyQt入门教程1
PyQt入门教程2

posted on   何苦->  阅读(452)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示