Wie kann ich eine PyQt -, modal-dialog und die Daten aus Ihrer Steuerung nach seiner geschlossenen?
Einer integrierten dialog-wie QInputDialog, ich habe gelesen, dass ich dies tun kann:
text, ok = QtGui.QInputDialog.getText(self, 'Input Dialog', 'Enter your name:')
Wie kann ich dieses Verhalten nachahmen mit einem dialog, dass ich mich selbst entwerfe, in dem Qt Designer? Zum Beispiel würde ich gerne machen:
my_date, my_time, ok = MyCustomDateTimeDialog.get_date_time(self)
InformationsquelleAutor Thomas Johnson | 2013-08-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist einfach Klasse, die Sie verwenden können, um die Eingabeaufforderung für Datum:
nehmen und zu nutzen:
@staticmethod
Dekorateur, und warum Sie wählte, um zu instanziieren, dieDateDialog
Klasse innerhalb derDateDialog
Klasse definition? Ich fand das ein bisschen verwirrend.Wahr. Sie können einfache Funktion, um das Dialogfeld erstellen und erhalten das Ergebnis, was besser ist (wenn Sie nicht brauchen, um die Wiederverwendung der dialog-Klasse).Auch könnte es gibt nur den
date
Objekt und zurückNone
oder wirft exception, wenn der dialog abgebrochen wurde (nicht sicher was die richtige Lösung in Python).Für alle, die nicht wissen, QDialog importiert werden können, wie folgt:
from PyQt4.QtGui import QDialog
(vorausgesetzt, Sie verwenden PyQt version 4)InformationsquelleAutor hluk
Habe ich versucht zu Bearbeiten, die Antwort von hluk mit den folgenden Veränderungen, aber es wurde abgelehnt, nicht sicher, warum, weil es jetzt einige klare Fehler, soweit ich das sehen kann.
bugfix 1: entfernt selbst. von selbst.layout.addWidget(self.Tasten)
bugfix 2: verbunden mit den Schaltflächen OK und Abbrechen an seinen richtigen Aktionen
Verbesserung: aus der code sofort ausgeführt, indem die Importe und verbessert die laufen, Beispiel
nehmen und zu nutzen:
InformationsquelleAutor lou