你如何加载的.ui文件到Python类与PySide?(How do you load .ui fi

2019-07-19 23:32发布

我用PyQt的相当长一段时间,我已经用它的全部时间,出现了一个相当一致的编程模式。

  1. 使用Qt Designer创建的.ui文件。
  2. 创建一个Python类相同的类型,你在的.ui文件中创建的窗口小部件。
  3. 当初始化蟒类,使用UIC到的.ui文件动态地加载到类。

有没有办法做到在PySide类似的东西? 我已经通过文档和例子看,我可以找到最接近的事情是一个计算器的例子,预渲染的文件的.ui出Python代码,这是在PyQt的做它的超级老办法(为什么它烤到Python当你可以解析用户界面?)

Answer 1:

我做的正是与PySide。 :)

您可以使用此https://gist.github.com/cpbotha/1b42a20c8f3eb9bb7cb8 (塞巴斯蒂安·威斯纳原来是在https://github.com/lunaryorn/snippets/blob/master/qt4/designer/pyside_dynamic.py但已经消失) -这将覆盖PySide.QtUiTools.QUiLoader并提供了新的loadUi()方法,这样就可以做到这一点:

class MyMainWindow(QMainWindow):
    def __init__(self, parent=None):
        QMainWindow.__init__(self, parent)
        loadUi('mainwindow.ui', self)

当你实例MyMainWindow,这将有你的设计与Qt设计的UI。

如果您还需要使用自定义的小部件(“促进” Qt设计师),看到这样的回答: https://stackoverflow.com/a/14877624/532513



文章来源: How do you load .ui files onto python classes with PySide?