Ich kann ein Skript, das ein Fenster aufruft, aber wenn ich versuche, einen Dialog mit den Eltern = Keine zu erhöhen, erhalte ich:pyGtk3 Müssen Dialoge Eltern haben? Wenn ja, wie nennst du sie aus einem Skript?
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Was für Eltern kann ich auf Karte, dies zu? Es scheint, dass ich es einem Dummy-Elternteil zuordnen kann, aber wird dies dazu führen, dass Dinge brechen und Menschen sterben?
-Code von http://python-gtk-3-tutorial.readthedocs.io/en/latest/dialogs.html#messagedialog, wo es von einem übergeordneten Fenster genannt wird ... aber ich will das Pop-up in der Lage sein, als ich durch ein Terminal-Skript renne.
Edit: Einige Stochern (und auch unten durch eine Antwort geben) ergab, dass unter (statt none) Gtk.Window() als erstes Argument nicht von der Nachricht loszuwerden ...
def on_question():
dialog = Gtk.MessageDialog(None, 0, Gtk.MessageType.QUESTION,
Gtk.ButtonsType.YES_NO, "This is an QUESTION MessageDialog")
dialog.format_secondary_text(
"And this is the secondary text that explains things.")
response = dialog.run()
if response == Gtk.ResponseType.YES:
print("QUESTION dialog closed by clicking YES button")
elif response == Gtk.ResponseType.NO:
print("QUESTION dialog closed by clicking NO button")
dialog.destroy()
Mögliches Duplikat von [GtkDialog ohne übergeordnetes Elternteil zugeordnet] (http://stackoverflow.com/questions/29883211/gtkdialog-mapped-without-a-transient-parent) –
Möglich - aber dieser Fragesteller hat ein Fenster zu setze es zum Kind von. Ich nicht. Vielleicht ist es ein Missbrauch der GtkMessagDialog-Klasse - es schien nur viel enger als das Erstellen von Fenstern, die das gleiche tun ... – Trees4theForest
Wenn Sie
print(dialog.get_parent())
vor dialog.destroy() setzen, wird eine "None" gedruckt. Keine None, aber die, die du als Eltern weitergegeben hast. Das erste "None" im Konstruktor ist das übergeordnete Element des Dialogs – cox