PyQt Designer和QML插件
项目描述
PyQt5轮子不提供旧二进制安装程序中包含的工具,如Qt Designer。本软件包旨在通过一个独立的软件包提供这些工具,这对于开发人员来说很有用,同时官方PyQt5轮子仍专注于满足PyQt5应用程序的依赖关系。
支持Windows和Linux。如果将以下说明应用于Linux而不是Windows,请相应地调整路径等。macOS支持不完整,但如需讨论,请参阅问题#12。
安装
yourenv/Scripts/pip.exe install pyqt5-tools~=5.15
通常,您会使用 pip install 命令来安装 pyqt5-tools。在大多数情况下,您应该使用 virtualenv 或 venv 来创建隔离的环境,以安装依赖项。上面的命令假定在 yourenv 目录中有一个环境。 ~=5.15 指定了一个与 5.15 兼容的版本,这将是为 PyQt5 5.15 构建的 pyqt5-tools 的最新版本。如果您使用的是不同的 PyQt5 版本,请指定它而不是 5.15。PyPI 保存了一份 所有可用版本 的列表。
- 注意
从 pyqt5-tools v3 版本开始,该包已拆分为四个部分。包装器仍然在这里,但插件位于 pyqt5-plugins,一些 Qt 应用程序助手在 qt5-tools 中,而应用程序在 qt5-applications 中。
用法
提供了一个程序,可用作 Scripts/pyqt5-tools.exe。为 Designer、QML Scene 和 QML 测试运行器提供了子命令。这些包装器命令提供了与启动底层程序相关的附加功能。作为子命令,在 Scripts/qt5-tools.exe 程序中提供了更多 Qt 应用程序。在两种情况下,传递 --help 将列出可用的子命令。
此外,下面列出的每个 pyqt5-tools 子命令都包括一个参数,可以运行一个基本示例,用于检查插件是否正常工作。这些示例 不是 作为良好代码示例的用途。
每个子命令都会从您的当前工作目录向上搜索文件系统树,以找到 .env 文件,并在找到时加载它。如果找到,环境变量 DOT_ENV_DIRECTORY 将设置为包含 .env 文件的目录。使用这个额外的变量,您可以指定相对于 .env 位置的路径。
PYQTDESIGNERPATH=${PYQTDESIGNERPATH};${DOT_ENV_DIRECTORY}/path/to/my/widgets
Designer
有一个 Scripts/pyqt5-tools.exe designer.exe 入口点,将帮助从命令行参数或一个 .env 文件中填充 PYQTDESIGNERPATH。未知参数将传递给原始 Qt Designer 程序。
Usage: pyqt5-tools designer [OPTIONS]
Options:
-p, --widget-path DIRECTORY Paths to be combined with PYQTDESIGNERPATH
--example-widget-path Include the path for the pyqt5-tools example
button (c:\users\sda\testenv\lib\site-
packages\pyqt5_plugins)
--designer-help Pass through to get Designer's --help
--test-exception-dialog Raise an exception to check the exception
dialog functionality.
--qt-debug-plugins / --no-qt-debug-plugins
Set QT_DEBUG_PLUGINS=1
--help Show this message and exit.
如果您想在 Designer 中查看生成的代码,可以运行 Scripts/pyqt5-tools.exe installuic,它将复制 pyuic6.exe,以便 Designer 将使用它并显示生成的 Python 代码。请注意,这将启用使用 C++ 菜单项查看,而 Python 菜单项将损坏。如果不进行此调整,C++ 选项显示 C++ 代码,而 Python 选项显示 PySide2 代码。必须已安装 pyqt5 或此脚本将无法找到要复制的原始 pyuic6.exe。
除了官方 Designer 插件的常规功能外,这还提供了用于您的小部件 Python 代码的异常对话框。否则,在 Windows 中,Designer 在 Python 异常发生时会静默崩溃。
QML 插件
也包含 QML 插件。将来可能会提供一个工具,用于将插件复制到需要它的每个目录。目前,这必须手动完成。
site-packages/pyqt5_tools/Qt/bin/plugins/pyqt5qmlplugin.dll
QML Scene
Usage: pyqt5-tools qmlscene [OPTIONS]
Options:
-p, --qml2-import-path DIRECTORY
Paths to be combined with QML2_IMPORT_PATH
--qmlscene-help Pass through to get QML scene's --help
--qt-debug-plugins / --no-qt-debug-plugins
Set QT_DEBUG_PLUGINS=1
--run-qml-example Run the pyqt5-tools QML example
--help Show this message and exit.
QML 测试运行器
Usage: pyqt5-tools qmltestrunner [OPTIONS]
Options:
-p, --qml2-import-path DIRECTORY
Paths to be combined with QML2_IMPORT_PATH
--qmltestrunner-help Pass through to get QML test runner's --help
--qt-debug-plugins / --no-qt-debug-plugins
Set QT_DEBUG_PLUGINS=1
--test-qml-example Test the pyqt5-tools QML example
--help Show this message and exit.
特别感谢
感谢MacStadium为我提供macOS系统,用于开发和测试最终的pyqt5-tools平台。这仍然处于“开发中”。请参阅 问题 #12。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。