编译/更新PyQt .py文件

时间:2014-09-26 22:04:47

标签: python pyqt pyuic

我是PyQt的新手,所以在这里忍受我......

我使用Qt Designer创建一个小部件,然后编译它并将其保存为.py。我编辑.py文件以添加一些额外的功能。但后来说我需要回到Qt Designer并更新GUI的布局。有没有办法编译,然后更新原始.py文件与更改,而不必手动复制/粘贴我的自定义代码?

2 个答案:

答案 0 :(得分:0)

如果查看生成文件顶部的注释,您将看到以下行:

# WARNING! All changes made in this file will be lost!

这清楚地表明该文件不是要编辑的。但这不是问题,因为它只是一个普通的python模块,因此很容易将其导入主应用程序并从那里访问它。

您需要做的就是从Qt Designer创建顶级对象的子类(将是QMainWindowQDialogQWidget),然后使用{生成的模块提供的{1}}方法,用于将所有小部件添加到该子类的实例中。

因此,如果来自Qt Designer的顶级对象被命名为“MainWindow”,pyuic将创建一个相应的setupUi类,可以将其导入Ui_MainWindow脚本并使用如下内容:

main.py

有关详细信息,请参阅Using Qt Designer中的PyQt Documentation

答案 1 :(得分:0)

我个人讨厌编译它。但是像ekhumoro说的那样,你可以导入这个课程。我仍然不喜欢这个。 pyuic有时导入讨厌的example_rc内容,这会再次降低生产力水平。如果您绝对必须将.ui转换为.py,请创建一个.bat文件来为您执行此操作。代码:

@ECHO OFF
cd [directory of choice]
pyuic[4/5, depends on pyqt] -x example.ui -o example.py

或者您的操作系统的任何内容。我个人喜欢使用ui = uic.loadUi('example.ui')然后使用ui.setupUi()。它可以让你更有效率!