将pyqt ui文件转换成py文件

Posted

技术标签:

【中文标题】将pyqt ui文件转换成py文件【英文标题】:Converting pyqt ui files into py files 【发布时间】:2015-11-05 23:07:21 【问题描述】:

所以我最近从 tkinter 切换到 pyqt 用于我的 python gui 应用程序,我喜欢它????。

但是有一件事让我很烦恼,我希望你们能帮助我。

我喜欢使用 qtdesigner 工具,这样我可以快速开发接口,但是当我将 qui 转换为 py 时,它使用设置主窗口的 setupUi 方法以一种稍微不寻常的方式构造了一个类。我希望我可以使用 init 方法将其制作类的方式更改为更传统的方式,以便我可以从中继承并在另一个文件中定义我的事件等。目前我手动完成。这样可以很容易地在设计器中修改 ui,并且仍然可以从转换后的 py 文件中导入,而无需制作任何 mods。

我希望我的问题是有道理的,我期待听到其他开发人员如何处理这个问题。

提前致谢

【问题讨论】:

【参考方案1】:

我通常加载 ui 文件本身而不转换为 py.这实际上节省了一些时间,代码看起来也不错。这是一个sn-p

from PyQt4 import QtGui, QtCore, uic
import sys

# Here you can add your ui path from desigener, no need to convert
RESOURCE_PATH             = package.__BASERESLOC__
baseUI                    = os.path.join(RESOURCE_PATH, "base_main.ui")
baseUIClass, baseUIWidget = uic.loadUiType(baseUI)

class BASEGUICLS(baseUIWidget, baseUIClass):
    def __init__(self,parent=None):
        super(BASEGUICLS, self).__init__(parent)
        self.setupUi(self)
        #after this you will have everything
        self.pushButton.setText("Foo")

def main():
    """
    Main function which init main GUI.
    """
    app = QtGui.QApplication(sys.argv)
    ex = BASEGUICLS(None)
    ex.show()
    sys.exit(app.exec_())

【讨论】:

非常感谢,这正是我想要的。在不影响代码的情况下轻松调整 gui。 是的,它真的很好,很开心 :)

以上是关于将pyqt ui文件转换成py文件的主要内容,如果未能解决你的问题,请参考以下文章

使用pyqt5将QT的ui文件转化为py文件

将 .ui 转换为 py 文件 PyQt5 时出错

如何使用 PyQt5 和 python 3.6 将 .ui 文件转换为 .py 文件

[转]pycharm中将ui文件转换成py文件

[转]pycharm中将ui文件转换成py文件

2. PyQt5 .ui文件转换为.py文件