könnte dies eine grundlegende Frage, aber ich habe nicht eine funktionierende Lösung noch nicht gefunden:Python: QT5 umfassen ui.py in Haupt Python-Skript
Dies ist mein erster Python UI Script ... Ich habe die Idee von der Benutzeroberfläche in einer Datei ohne Funktionalität setzen und setzten alle den eigentlichen Code und Algorithmen in einer anderen Datei, aber ich weiß nicht, ob dies eine gute Praxis ist oder nicht und wie diese Arbeit zu machen.
Ich habe eine Benutzeroberfläche mit GTDesigner erstellt und diese in MainWindowPy.py mit pyuic5 konvertiert.
Das gab mir:
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
[...]
def retranslateUi(self, MainWindow):
[...]
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Jetzt möchte ich diesen MainWindowPy.py unberührt lassen, weil die Benutzeroberfläche im weiteren delevopment ändern können.
Wie kann ich Link und diese Datei in meinem MainApplication.py Skript ausführen und wie kann ich auf UI-Elemente wie Buttons?
Ich habe versucht, den gesamten UI-Code in eine Funktion zu verpacken und dann als Modul in MainApplication.py importiert und die Funktion über dieses Modul aufgerufen. Es funktionierte, aber das ist nicht „unberührt“.
Ich weiß über subprocess.Popen()
, aber vielleicht gibt es einen besseren Weg?