tkinter command und klasse

Fragen zu Tkinter.
Antworten
Gast

hallo zusammen!

Code: Alles auswählen

self.b_2=Button(root,text="Neuer Eintrag",width=self.b,\
                        command=lambda:EingabeFenster("Eingabe",8))
self.b_2.grid(row=3,column=0,padx=self.a_x,pady=self.a_y)

wie neulich im forum gezeigt wurde, kann man mittels lambda bei command doch werte übergeben. das geht natürlich auch wenn man eine klasse aufruft, so wie hier die klasse "EingabeFenster".

was mir net taugt ist die tatsache, dass die aufgerufene klasse nicht einer variablen zugeordnet werden kann, was ja sehr nützlich sein kann.

ich möchte also über den üblichen weg eine instanz bilden

also z.b

Code: Alles auswählen

command=lambda:d=EingabeFenster("Eingabe",8)
meine frage: gibt es doch eine möglichkeit, oder zu welcher lösung würdet ihr mir raten?
kann man die instanz irgendwie anders ansprechen, wenn es keine möglichkeit gibt eine zuordnung vorzunehmen?

vielen dank im voraus

mfg

roland
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi rogal,

pack das Kommando in eine Funktion/Methode, an die kannst Du dann mit dem lambda die Parameter übergeben.

Code: Alles auswählen

class DeineKlasse:
    def handle_new_entry(self, title, nr):
        self.d = EingabeFenster(title, nr)

    def ErstelleGUI(self):
        self.b_2=Button(root,text="Neuer Eintrag",width=self.b,\
                      command=lambda:self.handle_new_entry("Eingabe",8)) 
Gruß

Dookie
Gast

hi dookie

werde das mal einbauen, thx inzwischen.

bis bald

roland
Antworten