Frage

Ich bin neu in Pyqt, obwohl ich Python ein bisschen kenne. Ich wollte QT -Designer für GUI -Programme, da es meine Arbeit erleichtert. Ich habe einen einfachen Dialog im QT -Designer genommen und mit Pyuic4 konvertiert.

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))

Ich möchte dieses Programm ausführen. Wie stelle ich dieses Programm aus dieser Datei aus, indem ich diese importiere? Ich weiß, dass es eine sehr grundlegende Frage ist.

War es hilfreich?

Lösung

Sie können passieren -x Parameter zu Pyuic. Es generiert zusätzlichen Code, um das Skript ausführbar zu machen.


In der realen Anwendung sollten Sie eine Unterklasse besser schreiben QMainWindow das könnte so aussehen:

# 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)

Erstellen Sie auch ein wichtiges ausführbares Skript im selben Verzeichnis wie 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_())

Führen Sie dann dieses letzte Skript aus, um das Programm zu starten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top