ich hätte gerne vom Prinzip her ein Starterscript, welches ein zweites Script mit Dialog startet, dieses führt per git ein Update durch, und anschließend soll mein Hauptprogramm gestartet werden.
Mein Starterscript schaut dabei in etwa so aus:
Code: Alles auswählen
import sys
from time import sleep
from modules import main, updater
if __name__ == "__main__":
if len(sys.argv) == 1:
try:
updater.start_updater()
except ImportError as e:
print('Error in git module:\n{}'.format(e))
sleep(0.3)
main.start_main()
Code: Alles auswählen
...
def start_updater():
app = QApplication(sys.argv)
update = UpdateFrame()
update.window.show()
app.exec_()
Code: Alles auswählen
...
def start_main():
app = QApplication.instance()
if app is None:
app = QApplication(sys.argv)
main_window = MainForm()
app.aboutToQuit.connect(main_window.quit_application)
app.exec_()
So wie ich das oben habe scheint mir das nicht richtig zu laufen. Am liebsten wäre mir, wenn die zwei Programme wirklich komplett separate voneinander starten, also beide haben ihr QApplication. Aber selbst ein QApplication.quit() reicht nicht aus. Bekomme da jedes mal eine Fehlermeldung dass nur eine QApplication Instanz gestartet werden darf.
Wie würde man das denn richtig machen?