Ich habe gerade mit Pyg4 begonnen. Ich folgte ein Tutorial (http://zetcode.com/tutorials/pyqt4/) Eine Sache, die mir Rätsel dieser Teil ist:Mehrere Fenster in PyQt4?
def main():
app = QtGui.QApplication(sys.argv)
ex = GUI()
sys.exit(app.exec())
Und der Grund dafür erklären ich hier:
Ich habe ein kleines Programm aus, das vier weitere Fenster öffnet sich mit Ausnahme das erste Hauptfenster. Also habe ich versucht zu replizieren, was ich mit Haupt-Fenster arbeitete und erstellt eine Klasse für jedes neue Fenster und versuchte, mit dem oben genannten zu tun. Derzeit sieht es so aus:
Wie Sie sehen können, habe ich es geändert. Wenn ich die erste Zeile in der Funktion unkommentiert verlassen würde, würde das Programm abstürzen. Ich habe versucht, ohne die sys.exit (app.exec_())-Teil, aber das würde nur das neue Fenster schließen Millisekunden, nachdem es angezeigt wurde. So läuft und läuft alles. Nur das im Befehlsfenster wird eine Fehlermeldung angezeigt. Ich weiß nicht, wie ich das beheben kann, da ich die letzte Zeile nicht entfernen kann, und ich weiß nicht, was ich ersetzen soll "app" mit.
Ich weiß, dass ich die neuen Fenster wahrscheinlich von Anfang an falsch mache, aber ich weiß nicht, wie ich diese Fenster vom ursprünglichen Fenster aus auf andere Weise öffnen kann. Ich konnte nichts anderes zur Arbeit bringen, und das läuft und läuft zumindest jetzt. Also das einzige Problem ist Fehlermeldungen in der Aufforderung, es wäre schön, sie loszuwerden :)
Danke für jede Hilfe (kompliziert und einfach)!
vergessen zu erwähnen, habe ich die Klassen wie folgt beginnen:
class GUI(QtGui.QMainWindow):
def __init__(self):
super(GUI, self).__init__()
self.initUI()
und
class Settings(QtGui.QWidget):
def __init__(self):
super(Settings, self).__init__()
...here goes some more...
self.initUI2()
und ich öffne Einstellungen-Fenster von main2 Aufruf()
Danke, dass einige Dinge nicht klar. Aber ich kann nicht alle Fenster gleichzeitig anzeigen. Zuerst wird das QMainWindow beim Start angezeigt, und von da hängt es ab, was geöffnet wird, da ich verschiedene Optionen in der Menüleiste auswählen kann. Ein Hilfefenster oder ein Einstellungsfenster zum Beispiel. –
@right_there: Sie müssen Ihr Einstellungsfenster als Antwort auf ein Ereignis erstellen (oder zumindest anzeigen), siehe das Tutorial, das Sie über Ereignisse verfolgt haben: http://zetcode.com/tutorials/pyqt4/eventsandsignals/ – Julien
Oh, ich ' hab das gemacht! Ich möchte hier nicht den ganzen Code schreiben, es sind 560 Zeilen. Ich habe alles funktioniert, das Fenster geöffnet, wenn ich auf die Knöpfe klicke.Ich habe eine nette GUI mit Menüleiste, ich habe alle Schaltflächen im Einstellungsfenster usw. angeordnet. Es ist nur, dass es Fehlermeldungen über das, was ich im ersten Post beschrieben habe, und ich weiß nicht, wie man alles ändert. Vielleicht sollte ich hier mehr Code zur Verfügung stellen? –