ich habe mir ein Fenster mit einem Menü erstellt, worunter ich "Einstellung" klicken kann und sich darauf durch die Funktion "einstellung"ein Fenster als Toplevel von dem parent öffnet.
Hier habe ich ein Eingabe-Feld, mit welchem ich in einer anderen Funktion namens "widget_verschieben" abfragen möchte, ob die Variable der Checkbox True ist und dann einen Text ausgeben. Das ganze sieht wie folgt aus:
Code: Alles auswählen
def einstellung(self):
einstellungWin = self.einstellungWin= tk.Toplevel(self)
einstellungWin.title("Einstellungen")
einstellungWin.geometry("600x400")
self.eingabe=tk.Entry(einstellungWin)
self.eingabe.place( x=0, y=40)
var1=BooleanVar(einstellungWin)
cb=tk.Checkbutton(einstellungWin, text="Verschieben", variable=var1).pack(side="bottom")
tk.Button(einstellungWin,text="Ist Checkbutton geklickt?", command=self.widget_verschieben).pack(side="right")
sendebutton =tk.Button(einstellungWin,text="Senden", command= self.einstellung_sendtext, font=("Arial", 10)).place()
def einstellung_sendtext(self):
self.eingabe1 = self.eingabe.get() #<-- Hier bekomm ich ohne Weiteres die Eingabe über get()
self.text.insert("end", self.eingabe1+"\n")
def widget_verschieben(self):
val = var1.get() #<-- Hier ist mein Problem
if val:
print("Checkbutton ist geklickt!")
else:
print ("Checkbutton ist nicht geklickt...")

Der Hintergrund von dem Ganzen ist, dass ich mir einen "placer" basteln möchte, welcher bei Aktivierung der Checkbox das Verschieben von widgets mit der Maus zulässt und die Position dann in einer txt-Datei speichert und ich diese bei jedem Programmstart lade