私はかなり長い間PyQtを使用してきましたが、それを使用している間ずっと、かなり一貫したプログラミングパターンがありました。
PySideで同様のことをする方法はありますか?ドキュメントと例を読みましたが、最も近いものは、.uiファイルをpythonコードに事前レンダリングした電卓の例でした。これは非常に古い方法です。 PyQtでそれを(UIを解析できるのになぜpythonに焼くのですか?)
私は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をインスタンス化すると、QtDesignerで設計したUIが表示されます。
カスタムウィジェット(Qt Designerの「PromoteTo」)も使用する必要がある場合は、次の回答を参照してください: https://stackoverflow.com/a/14877624/53251