Python如何使用PyQt

PyQt5 使用说明

一. 什么 PyQt5

  • QT 是跨平台 C++ 库的集合,它实现高级 API 来访问现代桌面和移动系统许多方面的功能。其中包括位置和定位服务、多媒体、NFC、蓝牙连接、基于 Chromium 的 web 浏览器以及传统 UI 开发。
  • PyQt5 是 Qt 的一套完整的Python绑定。它被实现为超过35个扩展模块,并使 Python 可以作为一个替代的应用程序开发语言 C++ 在所有支持的平台上包括 IOS 和 Android。
  • PyQT5 也可以嵌入在基于 C++ 的应用程序中,以允许这些应用程序的用户配置或增强这些应用程序的功能。

二. 如何安装 PyQt5

1. 版本说明:

  • 操作系统: Ubuntu 20.04
  • python 版本: 3.8.5

2. 使用 pip 安装 PyQt5

  • 使用下面命令安装 PyQt5 包

    pip install pyqt5
    

  • 如果下载速度慢,可以更换为 pip 下载源为清华源。
    临时更换pip源:
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
    更多详细说明,请点击here

三. 使用 pyqt5 编写一个简单的 GUI 程序

1. 实现目标

  • 使用 PyQt5 实现一个简单的窗口,并在里面显示文字 “hello wrold”

2. 程序代码

  • 代码如下所示:

    import sys
    from PyQt5 import QtCore, QtGui, QtWidgets
    
    def main():
        app = QtWidgets.QApplication(sys.argv)
    
        hello_widget = QtWidgets.QWidget()
        hello_widget.resize(280, 150)                   # 设置窗体大小
        hello_widget.setWindowTitle("Hello PyQt5")      # 设置窗体标题
    
        hello_label = QtWidgets.QLabel(hello_widget)    # 添加一个标签
        hello_label.setText("hello wrold")              # 设置标签文字
    
        hello_widget.show()                             # 显示窗体
        sys.exit(app.exec_())                           # 应用程序运行
    
    if __name__ == '__main__':
        main()
    

3. 实现效果

  • 代码结果
    a_simple_gui_result

四. 如何在 VScode 使用 Qt Designer

1. 安装和设置 PyQt5 插件

  • 在VScode 安装 Qt for Python 插件
    Qt for python

  • 然后 Setting.json 文件中,添加 Qt Designer 的文件路径

    // 设置 Qt Designer 路径
    "qtForPython.path.designer": "<Qt Designer Path>"
    
  • 例如,我设置的 Qt Designer 路径

    "qtForPython.path.designer": "/home/lwl/anaconda3/envs/Ltranslation_env/bin/designer",
    
  • 如果你的 python 环境中安装了 pyqt5 包,可以在此环境找到 designer

2. 创建 UI 文件

  • 安装好 Qt for Python 插件后,点击目录区点击右键,可以看到 “New FOrm(Qt Designer File)”。点击此选项,就可以使用 Qt Designer 工具。
    New Form

  • 然后在 designer 创建一个简单的窗体
    hello_wrold_ui

  • 设计完成之后,保存文件。

3. 将 UI 文件转换为 Python 文件

  • 这时可以看到在 VS Code 目录区多出一个 UI 文件。

  • 选中文件,点击右键,可以看到 “Compile Form(Qt Designer UI File) into Qt for Python File”。

    在这里插入图片描述

  • 单击之后,会发现有错误
    error_complie_ui

  • 这是因为没有设置相应的编译命令

  • 需要在 Setting.json 文件中设置相应的编译命令

    "qtForPython.path.pyuic": "<pyuic5 path> -d -o <ui complie name>"
    
  • 例如,我设置的编译命令:

    "qtForPython.path.pyuic": "/home/lwl/anaconda3/envs/Ltranslation_env/bin/pyuic5 -d -o ./src/ui_${fileBasenameNoExtension}.py"
    
  • 设置成功后,就可以把 ui 文件转化为相对应的 python 文件了。

4. python 代码编写

  • 实现目标: 显示用 Designer 创建的窗体

  • 程序代码:

    import sys
    from PyQt5.QtWidgets import QWidget, QApplication
    from ui_hello_world import  Ui_Form # ui_hello_world 为 ui 文件编译后的文件
    
    class QmyWidget(QWidget):
        def __init__(self, parent=None):    
            super().__init__(parent)            # 调用父类的构造函数,创建 QWidget 窗体
            self.__ui = Ui_Form()               # 创建 UI 对象
            self.__ui.setupUi(self)             # 构建 UI
    
    def main():
        app = QApplication(sys.argv)
        my_widget = QmyWidget()
        my_widget.show()
        sys.exit(app.exec_())
    
    
    if __name__ == '__main__':
        main()
    
  • 实现效果
    ui_result

结语

  • 本篇主要参考 《Python Qt GUI与数据可视化编程》
  • 如果其中有不对的地方或是需要改进的地方,请指正。
  • 联系方式 email:lwl510ll@163.com 。
  • 本文到这就结束了,谢谢大家观看。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值