Ich bastle gerade ein kleines Programm, in dem ich unter anderem ein hauptfenster habe, von dem ich eine Klasse aus einer anderen Datei aufrufen kann, die mit der QPrinter funktion und tika Internetseiten in plain-text umwandelt.
So weit, so gut - allerdings ist das bisher mein "größtes" Projekt, und fast alles, was ich so an PyQt5 Zeug geschrieben hab, hab ich quasi "rumprobiert" - sieht scheiße aus, liest sich scheiße, ist sicherlich absolut nicht so wie gedacht, aber bisher "funktioniert" es. Das reicht mir aber nicht, ich möchte sicher gehen, dass ich das auch alles verstanden habe.
Mein Hauptproblem: Ich habe absolut KEINE Ahnung, wann, wie, wo ich bei einem Projekt mit mehreren Klassen, die verschiedene PyQt Funktionen benutze, den PyQt5 Syntax benutze.
Ein Beispiel:
Wo muss ich bei einer neuen Klasse (QWidget) in die Argumente packen?
Wo muss ich am ende in die mainloop so etwas app = QtWidgets.QApplication(sys.argv) schreiben?
Wie sage ich meinem Programm, dass es alles, außer das Hauptfenster, schließen soll?
Wann packe ich einen super().__init__ call in die __init__ Funktion einer Klasse?
Warum versucht (und scheitert) meine .insertPlainText Funktion zu laufen, obwohl die Funktion die davor kam (html seite als pdf speichern per QPrinter, pdf laden per tika) noch gar nicht fertig ist? Warum asynchron?
Warum öffnet sich immer für den Bruchteil einer Sekunde ein kleines Fenster, wenn ich ein Widget aus einer anderen Klasse schließe?
Warum läuft mein Programm weiter, nachdem ich beim Hauptfenster auf x gedrückt hab?
Und warum zur Hölle geht der Qtwebengineprocess nicht von selbst weg?
Hier ist mein Projekt:
https://github.com/FlyingThunder/QtTranslator (nichts für schwache Nerven) - build sollte funktionieren, bei mir jedenfalls geht es (Bedienung dürfte selbsterklärend sein)
Danke falls jemand die Zeit und Lust opfert mir zu helfen, ich weiß echt nicht mehr wo ich noch suchen soll
