python模块自动将pyqt5中的ui和rc文件编译成python文件

pyqt5ac的Python项目详细描述


pypi-python versionpypipypi-license

Pyqt5自动编译器(Pyqt5ac)

pyqt5ac是一个python包,用于将qt的ui和qrc文件自动编译为python文件。

在pyqt5中,qt设计器是用于使用拖放界面创建gui的应用程序。此界面存储在.ui文件中,任何资源(如图像或图标)都存储在.qrc文件中。

这两种文件类型必须先编译成python文件,然后才能在python程序中使用。目前有几种方法可以做到这一点:

  1. 使用命令行和pyuic5对.ui文件和pyrcc5对.qrc文件手动编译文件。
  2. 每次启动应用程序时,通过在python脚本中调用pyuic5和pyrcc5来编译文件
  3. < > >

    第一种方法的缺点是,编译这些文件可能是一项乏味的工作,特别是当一个大型项目中有许多需要编译的文件时。尽管第二种方法消除了编译的繁琐,但这些文件在运行脚本的每一次时都会被编译,无论是否有任何更改。这可能会导致性能下降,并且启动脚本需要更长的时间。

    输入pyqt5ac

    pyqt5ac提供了一个命令行界面(cli),可以搜索文件并自动编译任何.ui.qrc文件。此外,可以从python脚本调用pyqt5ac。在这两种情况下,只有更新了ui和资源文件,才会编译它们

    安装

    pyqt5ac当前可在pypi上获得。最简单的方法 单独安装是在命令行使用pip

    pip install pyqt5ac
    

    安装最新版本。从存储库中安装最新的代码(通常是稳定的,但可能有 未记录的更改或错误)

    pip install git+https://github.com/addisonElliott/pyqt5ac.git
    

    对于开发人员,可以克隆pyqt5ac存储库并运行setup.py文件。使用以下命令获取 从github复制并安装所有依赖项

    git clone https://github.com/addisonElliott/pyqt5ac.git
    cd pyqt5ac
    pip install .
    

    或者,对于最后一行,使用

    pip install -e .
    

    要以"开发"或"可编辑"模式安装,可以对本地工作代码进行更改,python将使用 更新的polartTransform代码。

    入门

    从命令行运行

    如果pyqt5ac是通过pip安装的,则可以像终端中任何基于unix的程序一样调用命令行界面

    pyqt5ac [OPTIONS] [IOPATHS]...
    

    在接口中,这些选项的名称略有不同,因此有关详细信息,请参考接口的帮助文件。最大的区别是iopaths参数是一个空间划分的路径列表,偶数项是源文件表达式,奇数项是目标文件表达式。

    界面的帮助文件可以运行为

    pyqt5ac --help
    

    从python脚本运行

    下面的代码片段演示如何从py调用pyqt5acThon脚本

    importpyqt5acifdebug:pyqt5ac.main(rccOptions='',uicOptions='--from-imports',force=False,config='',ioPaths=[['gui/*.ui','generated/%%FILENAME%%_ui.py'],['resources/*.qrc','generated/%%FILENAME%%_rc.py']])

    配置选项

    可以指定给pyqt5ac的所有选项也可以放在配置文件(json或yaml)中。我的建议是使用一个配置文件来方便地编译您的软件。出于测试的目的,我将使用命令行界面中的选项使一切正常工作,然后将其转录到配置文件中以供重复使用。

    无论是通过命令行运行还是从脚本运行,可以给出的参数和选项都是相同的。有效选项是:

    示例

    以下面的文件结构为例,其中需要编译任何ui和qrc文件。假设pyuic5和pyrcc5位于/usr/bin中,uic编译器需要使用"--from imports"。

    |-- gui
    |   |-- mainWindow.ui
    |   |-- addDataDialog.ui
    |   `-- saveDataDialog.ui
    |-- resources
    |   |-- images
    |   |-- stylesheets
    |   |-- app.qrc
    |   `-- style.qrc
    |-- modules
    |   |-- welcome
    |       |-- module.ui
    |       `-- resources
    |           |-- images
    |           `-- module.qrc
    |   `-- dataProbe
    |       |-- module.ui
    |       `-- resources
    |           |-- images
    |           `-- module.qrc
    

    下面的部分演示如何设置pyqt5ac以编译给定上述文件结构的必需文件。

    选项1:yaml配置文件(推荐)

    ioPaths:--"gui/*.ui"-"generated/%%FILENAME%%_ui.py"--"resources/*.qrc"-"generated/%%FILENAME_%%EXT%%.py"--"modules/*/*.ui"-"%%DIRNAME%%/generated/%%FILENAME_ui.py"--"modules/*/resources/*.qrc"-"%%DIRNAME%%/generated/%%FILENAME%%_rc.py"uic_options:--from-importsforce:False

    现在使用配置文件从命令行或python脚本运行pyqt5ac:

    pip install pyqt5ac
    
    0

    pip install pyqt5ac
    
    1

    选项2:json配置文件(推荐)

    pip install pyqt5ac
    
    2

    现在使用配置文件从命令行或python脚本运行pyqt5ac:

    pip install pyqt5ac
    
    0

    pip install pyqt5ac
    
    1

    选项3:python脚本

    pip install pyqt5ac
    
    5

    选项4:命令行

    pip install pyqt5ac
    
    6

    生成的文件结构

    pip install pyqt5ac
    
    7

    支架

    鼓励提出问题和请求!

    错误可以通过问题跟踪程序提交。

    也欢迎拉取请求!

    许可证

    Pyqt5ac有一个基于MIT的许可证

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


热门话题
java的单元测试测试用例库。util。列出实现   java通过超类进行序列化/反序列化   java Android获取设备语言ISO字符串   java如何打开广告的行动。移动   Eclipse IDE for(嵌入式C/C++)开发者202012:经典的深色主题深黑色背景和菜单中的文本   java使用不同的内容动态创建TableView(JavaFX)   java JAXB将多个同名节点解组   java ClassDefNotFoundException,即使类由类加载器加载(服务器上安装了多个应用程序)   java有没有办法关闭在后端生成的MqttClient线程?   html如何在网站上的java小程序中包含图像?   java无法访问已分配给超类引用的子类实例变量   java在TableViewer中双击打开对话框   列出如何创建ListNode。JAVA   java如何从文本中输出的数组中放入随机图像