我已经使用了PyQt很长一段时间,而且在我使用它的整个过程中,有一个非常一致的编程模式。
有没有办法在PySide中做类似的事情?我已经阅读了文档和示例,我能找到的最接近的东西是一个计算器示例,它将.ui文件预渲染为python代码,这是在PyQt中执行它的超级老方法(为什么要将它烘焙到python什么时候你可以解析ui?)
答案 0 :(得分:22)
我正在使用PySide做到这一点。 :)
你使用这个https://gist.github.com/cpbotha/1b42a20c8f3eb9bb7cb8(Sebastian Wiesner的原作是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 Designer设计的UI。
如果您还需要使用自定义小部件(Qt Designer中的“推广到”),请参阅以下答案:https://stackoverflow.com/a/14877624/532513