web-dev-qa-db-ja.com

qtDesigner .uiファイルをpython / pyqtにリンクしますか?

したがって、QtDesignerに移動してUIを作成すると、.uiファイルとして保存されます。これをpythonファイルとして作成したり、Pythonで使用するにはどうすればよいですか?

73
Chris

コードで.uiを使用する別の方法は次のとおりです。

from PyQt4 import QtCore, QtGui, uic
class MyWidget(QtGui.QWidget)
    ...
    #somewhere in constructor:
    uic.loadUi('MyWidget.ui', self)

どちらのアプローチも優れています。アイコンなどにQtリソースファイル(非常に便利)を使用する場合は、それもコンパイルする必要があることを忘れないでください。

pyrcc4.exe -o ui/images_rc.py ui/images/images.qrc

uicがインターフェイスをコンパイルすると、.pyファイルの末尾に「import images_rc」が追加されるため、リソースをこの名前でファイルにコンパイルするか、生成されたコードで名前を変更する必要があります。

58
Maxim Popravko

Max's answerShriramana Sharmaのメーリングリストの投稿 を組み合わせて、mywindow.uiファイルにはQMainWindowが含まれています(したがって、Qt DesignerのFile-Newダイアログ)。

これはそれをロードするコードです:

import sys
from PyQt4 import QtGui, uic

class MyWindow(QtGui.QMainWindow):
    def __init__(self):
        super(MyWindow, self).__init__()
        uic.loadUi('mywindow.ui', self)
        self.show()

if __== '__main__':
    app = QtGui.QApplication(sys.argv)
    window = MyWindow()
    sys.exit(app.exec_())
44
metakermit

Pyuicツール(site-packages\pyqt4\bin)を使用して、UIファイルからpythonファイルを生成する必要があります)

pyuic form1.ui > form1.py

pyqt4で

pyuic4.bat form1.ui > form1.py

その後、form1をスクリプトにインポートできます。

28
luc

この記事はとても役に立ちました。

http://talk.maemo.org/archive/index.php/t-43663.html

その記事から、.uiファイルを作成して.pyファイルに変更するアクションについて簡単に説明します。

  1. スタートメニューからQt Designerを起動します。
  2. 「新規フォーム」ウィンドウから「メインウィンドウ」を作成します
  3. [ウィジェットの表示]から左側の[ウィジェットボックスメニュー]の下部に向かって
    「ラベルウィジェット」を追加します。 (ドラッグアンドドロップをクリックします)
  4. 新しく追加したラベルウィジェットをダブルクリックして、名前を「Hello World」に変更します
  5. この時点で、Ctrl + Rホットキーを使用して、外観を確認できます。
  6. 必要に応じて、ドラッグアンドドロップでボタンまたはテキストまたはその他のウィジェットを追加します。
  7. ここでフォームを保存します。ファイル->名前を付けて保存-> "Hello World.ui"(Ctrl + S
    「名前を付けて保存」オプション)「Hello World」.uiを保存したディレクトリを書き留めます
    ファイル。 (便宜上、(C :)に保存しました)

ファイルが作成されて保存されました。次に、pyuicを使用してPythonコードを生成します!

  1. スタートメニューからコマンドウィンドウを開きます。
  2. ここで、「Hello World.ui」を保存したディレクトリに「cd」します。私にとっては、「cd \」にする必要があり、「C:>」プロンプトで「Hello World.ui」を保存しました。
  3. ファイルが保存されているディレクトリに移動したら、次のように入力します。
  4. pyuic4 -x helloworld.ui -o helloworld.py
  5. おめでとうございます!!これでpython Qt4 GUIアプリケーション!!
  6. Helloworld.pyファイルをダブルクリックして実行します。 (私はpyscripterを使用し、ダブルクリックすると
    pyscripterで開き、そこからファイルを「実行」します)

これが誰かを助けることを願っています。

24
xopenex

次のコードでPyQt5でuicを使用することもできます。

from PyQt5 import uic, QtWidgets
import sys

class Ui(QtWidgets.QDialog):
    def __init__(self):
        super(Ui, self).__init__()
        uic.loadUi('SomeUi.ui', self)
        self.show()

if __== '__main__':
    app = QtWidgets.QApplication(sys.argv)
    window = Ui()
    sys.exit(app.exec_())
13
Akshay

以下のコマンドを使用して、.uiファイルを実行可能pythonファイルに変換できます。

pyuic4 -x form1.ui > form1.py

これでpythonファイルを

python3(whatever version) form1.py

このファイルをインポートして使用できます。

9
Jeba

私の意見では、先に述べたように最初に.pyにエクスポートするほうがきれいです。

pyuic4 foo.ui > foo.py

そして、コード内でそれを使用します(例:main.py)、 好む:

from foo import Ui_MyWindow


class MyWindow(QtGui.QDialog):
    def __init__(self):
        super(MyWindow, self).__init__()

        self.ui = Ui_MyWindow()
        self.ui.setupUi(self)

        # go on setting up your handlers like:
        # self.ui.okButton.clicked.connect(function_name)
        # etc...

def main():
    app = QtGui.QApplication(sys.argv)
    w = MyWindow()
    w.show()
    sys.exit(app.exec_())

if __== "__main__":
    main()

これにより、qt-designerを使用してコードを読み取らない他のユーザーに機能を提供し、機能コードをfoo.pyデザイナーによって上書きされる可能性があります。上記のように、uiクラスを介してMyWindowを参照するだけです。

9
stelios

このようなUIファイルをコンパイルできます

pyuic4 -x helloworld.ui -o helloworld.py
5
reviloera

.uiファイルを.pyファイルにコンパイルするために、次のことを行いました。

python pyuic.py form1.ui > form1.py

Att。

4
filipemr

pyqt5で、uiファイルから.pyファイルに変換します

pyuic5.exe youruifile.ui -o outputpyfile.py -x

2
Aju George

Anaconda3(2018年9月)およびQTデザイナー5.9.5の使用。 QTデザイナーで、ファイルをUIとして保存します。 Anacondaプロンプトを開きます。ファイルを検索します:cd C:....(ファイルのアクセスパスをコピーして貼り付けます)。次に、pyuic5 -x helloworld.ui -o helloworld.py(helloworld =ファイルの名前)と書きます。入る。 Spyderを起動します。ファイル.pyを開きます。

0
Pifpy