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! ^^