Tkinter Wert aus validate_entry in einer __init__
Verfasst: Samstag 14. Mai 2016, 18:14
ok der Betreff ist schon ekelhaft genug also komme ich gleich zum Punkt.
Ich versuche mit Tkinter ein tool zu erstellen in dem der User die möglichkeit hat Koordinaten (in pixel, als int() und nur als init) in ein entry ein zu tippen.
Als ich durchs internet streifte auf der suche nach möglichen lösungen fand ich das:
Mein Problem ist nur wenn ich sowas wie print(VEntry.entry_value) ausführen will bekomme ich nur die info das es nicht existiert und ich habe keine Ahnung wie dieses Validate im allgeimenen Funktioniert so bin ich halt ein wenig auf dem Holtzweg.
Ich fand nun raus das man aus einer __init__ keine werte bekommen kann/sollte daher stellt sich mir die frage wie bekomme ich überhaubt werte daraus?
Jeder der mir da aushelfen kann ist mir Herzlich wilkommen! ^^
Ich versuche mit Tkinter ein tool zu erstellen in dem der User die möglichkeit hat Koordinaten (in pixel, als int() und nur als init) in ein entry ein zu tippen.
Als ich durchs internet streifte auf der suche nach möglichen lösungen fand ich das:
Code: Alles auswählen
class VEntry:
def __init__(self, root, own_row, own_column):
self.own_panel = tk.Frame(root)
self.own_panel.grid(row=own_row, column=own_column, sticky=E)
vcmd = (root.register(self.validate),'%d', '%i', '%P', '%s', '%S', '%v', '%V', '%W')
self.entry = tk.Entry(self.own_panel, validate = 'key', validatecommand = vcmd)
self.entry.insert(0, 1)
self.entry.grid()
self.entry_value = self.entry.get()
def validate(self, action, index, value_if_allowed, prior_value, text, validation_type, trigger_type, widget_name):
if text in '0123456789':
try:
float(value_if_allowed)
return True
except ValueError:
return False
else:
return False
row = 0
column = 0
root = tk.Tk()
VEntry(root, row, column)
# hier wird print(VEntry.entry_value) stehen
root.mainloop()
Ich fand nun raus das man aus einer __init__ keine werte bekommen kann/sollte daher stellt sich mir die frage wie bekomme ich überhaubt werte daraus?
Jeder der mir da aushelfen kann ist mir Herzlich wilkommen! ^^