質問

私はPyqtを少し知っていますが、Pythonを少し知っています。GUIプログラミングのためにQTデザイナーをQTデザイナーにしたかったのです。 QTデザイナーで簡単なダイアログを取り、Pyuic4を使用して変換しました。

from PyQt4 import QtCore, QtGui

class Ui_Form1(object):
    def setupUi(self, Form1):
        Form1.setObjectName("Form1")
        Form1.resize(495, 364)
        self.listWidget = QtGui.QListWidget(Form1)
        self.listWidget.setGeometry(QtCore.QRect(60, 100, 221, 111))
        self.listWidget.setObjectName("listWidget")
        self.lineEdit = QtGui.QLineEdit(Form1)
        self.lineEdit.setGeometry(QtCore.QRect(60, 250, 221, 26))
        self.lineEdit.setObjectName("lineEdit")
        self.pushButton = QtGui.QPushButton(Form1)
        self.pushButton.setGeometry(QtCore.QRect(350, 170, 92, 28))
        self.pushButton.setAutoDefault(False)
        self.pushButton.setObjectName("pushButton")

        self.retranslateUi(Form1)
        QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL("clicked()"), self.listWidget.clear)
        QtCore.QMetaObject.connectSlotsByName(Form1)

    def retranslateUi(self, Form1):
        Form1.setWindowTitle(QtGui.QApplication.translate("Form1", "Form1", None, QtGui.QApplication.UnicodeUTF8))
        self.pushButton.setText(QtGui.QApplication.translate("Form1", "X", None, QtGui.QApplication.UnicodeUTF8))

このプログラムを実行したいです。これをインポートしてこのファイルからこのプログラムを実行する方法は?私はそれが非常に基本的な質問であることを知っています。

役に立ちましたか?

解決

あなたは合格するかもしれません -x pyuicへのパラメーター。追加のコードを生成して、スクリプトを実行可能にします。


実際のアプリケーションでは、のサブクラスをより適切に書く必要があります QMainWindow これは次のようになる可能性があります:

# Store this code in the file MyMainWindow.py
from PyQt4.QtGui import *

class MyMainWindow(QMainWindow):
    def __init__(self, ui_layout):
        QMainWindow.__init__(self)

        self.ui = ui_layout
        ui_layout.setupUi(self)

また、mymainwindow.pyと同じディレクトリにメインの実行可能なスクリプトを作成します。

from PyQt4.QtGui import *
from MyMainWindow import *
from Form1 import *             # replace Form1 the name of your generated file
import sys

app = QApplication(sys.argv)

window = MyMainWindow(Ui_Form1())
window.show()

sys.exit(app.exec_())

次に、この最後のスクリプトを実行してプログラムを起動します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top