Hi @ll!
Wie immer bin ich im Tkinter!
Ich habe folgendes Problem (vereinfacht):
Ich habe ein Fenster mit einem Button! Sobald man auf diesen Button klickt, soll ein neues Fenster geöffnet werden! Wenn das neue Fenster geöffnet wurde, soll man nur auf dieses zugreifen können - das 1. Fenster darf nichts mehr machen! Im 2. Fenster soll wieder ein Button sein - klickt man auf diesen, so soll sich dieses 2. Fenster schließen und die im Fenster 1 wieder alles funktionieren! Wie geht das?
Ich hoffe iihr versteht mich!
Danke schon mal
ICH
2 Fenster, aber nur 1 darf bearbeitet werden
-
- User
- Beiträge: 728
- Registriert: Sonntag 22. September 2002, 08:32
- Wohnort: Sauerland
- Kontaktdaten:
Hi Tux, sieht nicht gut aus. Daran haben wir uns schon mal die Zähne ausgebissen. Siehe hier http://python.sandtner.net/viewtopic.php?t=196
Bei deinem Namen könnte man doch eigentlich eher erwarten, dass du QT einsetzt.
Hans
Bei deinem Namen könnte man doch eigentlich eher erwarten, dass du QT einsetzt.

Hans
Hallo!
Also, wenn ich das richtig sehe, willst Du einen sog. 'modalen Dialog'. Sowas geht mit Tkinter natürlich auch, am einfachsten wohl mit der Klasse tkSimpleDialog.Dialog.
Kleines Beispiel:
Man leitet also immer von der Klasse tkSimpleDialog.Dialog seine eigene Dialogklasse ab und überschreibt je nach Bedarf die Methoden, die tkSimpleDialog.Dialog einem ansonsten vererben würde. \Python22\Lib\lib-tk\tkSimpleDialog.py sollte man sich auf jeden Fall angucken.
Jan
Also, wenn ich das richtig sehe, willst Du einen sog. 'modalen Dialog'. Sowas geht mit Tkinter natürlich auch, am einfachsten wohl mit der Klasse tkSimpleDialog.Dialog.
Kleines Beispiel:
Code: Alles auswählen
from Tkinter import *
import tkSimpleDialog
class modalerDialog(tkSimpleDialog.Dialog):
def body(self, master):
self.title("Ein modaler Dialog")
Label(master,text='Ich bin ein modaler Dialog').pack()
def dialogOeffnen():
modalerDialog(root)
root = Tk()
Button(root,text="modalen Dialog oeffnen",command=dialogOeffnen).pack()
root.mainloop()
Jan
Hi Voges!
Danke erstmal für dein Bsp.!
Hier noch eine Frage: Bei dem Dialog sind unten die Buttons OK und Cancel ! Ist es möglich, dass man für diese Buttons selbst ein commando definiert? Wenn ja, wie?
Danke
ICH
Danke erstmal für dein Bsp.!
Hier noch eine Frage: Bei dem Dialog sind unten die Buttons OK und Cancel ! Ist es möglich, dass man für diese Buttons selbst ein commando definiert? Wenn ja, wie?
Danke
ICH
Hallo Tux!Tux hat geschrieben:Hier noch eine Frage: Bei dem Dialog sind unten die Buttons OK und Cancel ! Ist es möglich, dass man für diese Buttons selbst ein commando definiert?
Wenn es z.B. nur darum geht, beim Druck auf den OK-Button zu prüfen, ob im Dialog gemachte Angaben z.B. richtig oder ausreichend sind, kannst Du die Methode validate() überschreiben.
Code: Alles auswählen
def validate(self):
if <bedingung>:
return 1 # alles ok, Dialog wird beendet
else:
# hier ggf. Fehlermeldung
return 0 # Dialog wird nicht beendet
Jan