大家好,欢迎来到IT知识分享网。
文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
1、PyQt简介
开发工具为PyCharm,Anaconda。配置过程可能遇到问题:1)没有designer.exe,单独安装Qt Designer即可;2)没有pyuic5.exe,用命令行将ui文件转为py文件即可。
2、安装步骤
pip install PyQt5
3)通过命令:
pip install PyQt5‑5.15.9‑cp37‑cp37m‑win_amd64.whl
2.1 方法1 pip install PyQt5
由于国内网络原因可能出现链接超时错误:
Collecting PyQt5 Downloading PyQt5-5.15.9-cp37-abi3-win_amd64.whl (6.8 MB) ━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.4/6.8 MB 36.5 kB/s eta 0:02:56 ERROR: Exception: Traceback (most recent call last): File "D:\Users\anaconda3\envs\lib\site-packages\pip\_vendor\urllib3\response.py", line 438, in _error_catcher yield
解决方法,更换国内镜像:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
然后再执行
pip install PyQt5
2.2 方法2 pip install PyQt5‑5.15.9‑cp37‑cp37m‑win_amd64.whl
使用一个下载完整安装包并手动安装的方式。从 PyQt5官方网站 下载预编译的安装包,并通过本地安装来安装 PyQt5。在下载后,可以使用以下命令进行本地安装:
pip install PyQt5‑5.15.9‑cp37‑cp37m‑win_amd64.whl
3 安装PyQt5-tools
PyQt5-tools 是 PyQt5 的附加工具包,它包含了一些用于 PyQt5 开发的辅助工具。其中最常用的工具是 Qt Designer,它用于创建和编辑 PyQt5 用户界面的可视化设计。首先确保已经安装了 PyQt5。以下是如何安装和使用 PyQt5-tools 的步骤:
pip install PyQt5-tools
运行 Qt Designer:安装完成后,可以在命令提示符或 PowerShell 中运行 designer 命令来启动 Qt Designer。或者可以在开始菜单中找到 Qt Designer 图标并启动它。
designer
常见的报错为安装PyQt5-tools时报错如下
Installing collected packages: PyQt5 Successfully installed PyQt5-5.15.10 (PyQt-py39) PS C:\Users\liushurui> pip install PyQt5-tools Collecting PyQt5-tools Using cached pyqt5_tools-5.15.9.3.3-py3-none-any.whl.metadata (8.3 kB) Collecting click (from PyQt5-tools) Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB) Collecting pyqt5==5.15.9 (from PyQt5-tools) Using cached PyQt5-5.15.9-cp37-abi3-win_amd64.whl.metadata (2.2 kB) INFO: pip is looking at multiple versions of pyqt5-tools to determine which version is compatible with other requirements. This could take a while. Collecting PyQt5-tools Using cached pyqt5_tools-5.15.4.3.2-py3-none-any.whl.metadata (8.3 kB) Collecting pyqt5==5.15.4 (from PyQt5-tools) Using cached PyQt5-5.15.4.tar.gz (3.3 MB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... error error: subprocess-exited-with-error × Preparing metadata (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [26 lines of output] pyproject.toml: line 7: using '[tool.sip.metadata]' to specify the project metadata is deprecated and will be removed in SIP v7.0.0, use '[project]' instead Traceback (most recent call last): File "C:\Users\liushurui\.conda\envs\PyQt-py39\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module> main() File "C:\Users\liushurui\.conda\envs\PyQt-py39\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\liushurui\.conda\envs\PyQt-py39\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 152, in prepare_metadata_for_build_wheel whl_basename = backend.build_wheel(metadata_directory, config_settings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\liushurui\AppData\Local\Temp\pip-build-env-txffwgjw\overlay\Lib\site-packages\sipbuild\api.py", line 46, in build_wheel project = AbstractProject.bootstrap('wheel', ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\liushurui\AppData\Local\Temp\pip-build-env-txffwgjw\overlay\Lib\site-packages\sipbuild\abstract_project.py", line 92, in bootstrap project.setup(pyproject, tool, tool_description) File "C:\Users\liushurui\AppData\Local\Temp\pip-build-env-txffwgjw\overlay\Lib\site-packages\sipbuild\project.py", line 587, in setup self.apply_user_defaults(tool) File "C:\Users\liushurui\AppData\Local\Temp\pip-install-uzs7kduo\pyqt5_86a7a88f5c1f4913b4bc5d058164b41d\project.py", line 63, in apply_user_defaults super().apply_user_defaults(tool) File "C:\Users\liushurui\AppData\Local\Temp\pip-build-env-txffwgjw\overlay\Lib\site-packages\pyqtbuild\project.py", line 70, in apply_user_defaults super().apply_user_defaults(tool) File "C:\Users\liushurui\AppData\Local\Temp\pip-build-env-txffwgjw\overlay\Lib\site-packages\sipbuild\project.py", line 237, in apply_user_defaults self.builder.apply_user_defaults(tool) File "C:\Users\liushurui\AppData\Local\Temp\pip-build-env-txffwgjw\overlay\Lib\site-packages\pyqtbuild\builder.py", line 69, in apply_user_defaults raise PyProjectOptionException('qmake', sipbuild.pyproject.PyProjectOptionException [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> See above for output.
这是因为PyQt5-tools对python版本仅支持到3.9,可以通过以下命令查看python当前版本
python --version
更改python版本方法为
conda install python=3.8
4 设置环境变量
5 测试
import sys from PyQt5.QtWidgets import QWidget, QApplication app = QApplication(sys.argv) widget = QWidget() widget.resize(640, 480) widget.setWindowTitle("Hello, PyQt5!") widget.show() sys.exit(app.exec())
6 Qt Designer
6.1 安装
如果上述步骤操作之后,找不到designer.exe,此时我们需要下载对应系统版本的Qt Designer软件,然后安装即可。我是直接安装了qt-opensource-windows-x86-msvc2013-5.6.0.exe,如果你不做C++开发的话,仅需要安装Qt Designer即可。安装路径随意。
在 https://build-system.fman.io/qt-designer-download 这个网址可以下载和安装独立的 Qt Designer 安装版,根据操作系统选择合适的安装文件进行安装。
6.2 在 PyCharm 中配置 Qt Designer
6.3 在PyCharm中测试Qt Designer
7 将ui文件转为py文件
在终端中输入命令将ui文件转为py。
pyuic5 designer/untitled.ui -o output_ui.py
$FileName$ -o $FileNameWithoutExtension$.py
完成这个配置后,选中 MainWindow.ui,通过菜单 Tools -> External Tools -> P有UIC5,自动将 ui 文件转换为 python 代码。
7.2 方法2 使用pyside2-uic
如果你使用的是PyQt5,你也可以尝试使用pyside2-uic工具来将UI文件转换为Python代码。首先确保你的虚拟环境中已经安装了PySide2:
pip install PySide2
ui转py文件命令:
pyside2-uic.exe designer/mainwindow.ui -o mainwindow.py
7.3 测试
ui 转换的 python 代码随着对 ui 的变更,每次都会重新生成,所以不要在 MainWIndow.py 中编写代码。我们需要另外新建一个 python 文件,并在其中编写代码来调用界面代码。
在转出来的py文件中也有完整的测试代码,下面是自己写的一个测试代码:
# 导入生成的 Python 代码 from PyQt5 import QtCore, QtGui, QtWidgets from output_ui import Ui_MainWindow class MyWindow(QtWidgets.QMainWindow): def __init__(self): super(MyWindow, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.show() if __name__ == '__main__': app = QtWidgets.QApplication([]) window = MyWindow() app.exec_()
总结
至此PyQt就安装完成了
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/117411.html


