如何使用PyQt"/>
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 some-package
更多详细说明,请点击here
三. 使用 pyqt5 编写一个简单的 GUI 程序
1. 实现目标
- 使用 PyQt5 实现一个简单的窗口,并在里面显示文字 “hello wrold”
2. 程序代码
-
代码如下所示:
import sys from PyQt5 import QtCore, QtGui, QtWidgetsdef 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. 实现效果
- 代码结果
四. 如何在 VScode 使用 Qt Designer
1. 安装和设置 PyQt5 插件
-
在VScode 安装 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 工具。
-
然后在 designer 创建一个简单的窗体
-
设计完成之后,保存文件。
3. 将 UI 文件转换为 Python 文件
-
这时可以看到在 VS Code 目录区多出一个 UI 文件。
-
选中文件,点击右键,可以看到 “Compile Form(Qt Designer UI File) into Qt for Python File”。
-
单击之后,会发现有错误
-
这是因为没有设置相应的编译命令
-
需要在 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) # 构建 UIdef main():app = QApplication(sys.argv)my_widget = QmyWidget()my_widget.show()sys.exit(app.exec_())if __name__ == '__main__':main()
-
实现效果
结语
- 本篇主要参考 《Python Qt GUI与数据可视化编程》
- 如果其中有不对的地方或是需要改进的地方,请指正。
- 联系方式 email:lwl510ll@163 。
- 本文到这就结束了,谢谢大家观看。
更多推荐
Python如何使用PyQt
发布评论