2016-06-21 8 views
0

私は現在、PythonでGUIを作ろうとしています。このために私が見つけたのは、Qt Designerを使ってグラフィカルインタフェース.uiを生成し、それをpyQt4で.pyで変換して、Pythonで関数を編集することです。既存のPythonコードでQtデザイナを使用するには?

私が持っている質問は、Pythonコード全体を再設定することなくグラフィカルインターフェイスを変更する方法です。私は特定の機能で、インターフェイスにボタンを追加するには、インスタンスのためにしたい場合は

実際、私は単純に合計するために、再度全体の.py

を行わず、の.pyでこの機能を追加したいと思います今後、私のインターフェースを簡単に更新できるようにしたいと考えています。

ご存知ですか?

ありがとうございます! :)

+0

あなたは何を意味するのかよく分かりません。 Qt Designer> ui file> pythonファイル全体が気に入らなければ、pythonで直接レイアウトを書くことができます。現在、デザイナで作成された.ui/.pyファイルを手動で変更している場合は、そのことを想定していません。自分のpythonファイルにuiファイルを読み込むとします。 – Mel

+0

私はQtDesignerでレイアウトをグラフィカルに(私が絶対に望む)レイアウトを変更するたびに、それを.uiファイルに保存してから、(ボタンを押して)新しい.pyファイルは、最後の.uiファイルの変換から来ます。しかし、この.pyファイルは新しく、以前の.pyファイルの多くの部分をコピー/ペーストする必要があります。たぶん私はそれが動作する方法を理解していませんでした.. – qcha

+0

これは助けるべきです:http://stackoverflow.com/questions/2398800/linking-a-qtdesigner-ui-file-to-python-pyqt – Mel

答えて

1

回答 あなたは、(pyuic経由)のQtデザイナーからのコードを変更するプロセスが一つの方法であることを理解しようとしている場合:

.ui file -> pyuic -> .py 

pyuic(およびUIC、QT/C++と同等)は、コードジェネレータ一つの方法です。既存のPythonコードを使用してQt Designer用の.uiファイルを作成することはできません。 .uiファイルと

  • スティック:言っ

    補遺は、次の3つの選択肢があります。 Qt Designerで変更し、pyuicで変換してください。

  • 最初の.uiファイルを作成して、必要な方法を見て、Pythonに変換し、そこで手書きでコードを作成します。私はときどきこれを行いますが、.uiファイルを保存するので、何がであるべきかを知ります。のように見えます。
  • 手書きで書いてください。私の経験では、時間と練習によって、コーダーはこれがより自然に起こり、Qt Designerに依存することはますます少なくなることを発見しました。

個人的には、視覚的な参照のためにQtデザイナで複雑なフォームやダイアログのモックアップを作成しますが、すべてのコーディングを自分で行います。

+0

レイアウトを作成するためにpyuicから来る.pyファイルを使用することは可能ですか?このボタンが押された場合、uiのすべての機能を管理する別の.pyファイルがありますか?そうすれば、すでにコーディングしたすべての機能を失うことなく、Qt Designerのレイアウトを簡単に更新することができます。もしそうなら、どうすればいいですか? – qcha

+1

@qcha。はい、それはまさに 'pyuic'が使われることになっています。前述のリンクの[コード例](http://pyqt.sourceforge.net/Docs/PyQt4/designer.html#using-the-generated-code)を参照してください。一般的な考え方は、 'pyuic 'によって生成されたguiクラスをメインアプリケーションに単純にインポートすることです。そうすれば、GUIとプログラムのロジックは別々に保たれます。あなたがqtデザイナーに変更を加えるたびに 'pyuic'を再実行することを忘れないでください。 – ekhumoro

関連する問題