Ich versuche nach einer Auswahl eines Radiobuttons einen Entry-Eintrag zu verwerten.
Leider hab ich keine Ahnung, weshalb es nicht funkt...
Eigentlich dachte ich, dass ich mit "entry1= IntVar()" den Übergabewert der Varaiable in ein "int" umwandle und dann mit "x01=entry1.get()" und "x1=int(x01)" auslesen kann , aber die Fehlermeldung:
Exception in Tkinter callback
Traceback (most recent call last):
File "\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "rb_entry.py", line 25, in rb
x1=int(x01)
ValueError: invalid literal for int() with base 10: ''
lässt mich verzweifeln...
Grüße
d
Code: Alles auswählen
from tkinter import *
def rb():
#global r
radio = btn.get()
r = int(radio)
if r == 1:
print(r)
entry1= Entry(root)
entry1.grid(row = 4, column = 0, pady=2)
x01=entry1.get()
x1=int(x01)
elif r == 2:
print(r)
entry2= Entry(root)
entry2.grid(row = 4, column = 0, pady=2)
x02=entry2.get()
x2=int(x02)
else:
print("")
root = Tk()
root.geometry('170x120')
btn = IntVar()
entry1= IntVar()
entry2= IntVar()
#select button
btn_1 = Radiobutton(root, pady=1,relief=RIDGE, text='Button 1', value=1, variable=btn, command=rb, width=20)
btn_1.grid()
btn_2 = Radiobutton(root, pady=1,relief=RIDGE, text='Button 2', value=2, variable=btn, command=rb, width=20)
btn_2.grid()
#Exit
exit_button = Button(root,text="Beenden", command=root.destroy).grid(pady=2)
root.mainloop()