from tkinter import *
root = Tk()
root.title('Register')
def status():
word = varr.get()
gender = var.get()
if gender == 1:
text.insert(END,f'Hi Mr {word}\nHow are you doing today?')
else:
text.insert(END, f'Hi Miss {word}\nHow are you doing today?')
varr = StringVar()
entryfield = Pmw.EntryField(root,labelpos=W,label_text='Name:',entry_width=22,entry_textvariable=varr)
entryfield.grid(row=0,column=0,sticky=W,padx=5,pady=5)
button = Button(root,text='Status',command=status)
button.grid(row=0,column=0,sticky=E,padx=5,pady=5,ipadx=10)
var = IntVar()
f = Frame(root)
f.grid()
for i,k,j in [('Male',1,0),('Female',1,1)]:
radiobutton = Radiobutton(f,text=i,variable=var,value=i,indicatoron=0)
radiobutton.grid(row=k,column=j,sticky=W,padx=5,pady=5,ipadx=30)
frame = Frame(root)
frame.grid()
text = Text(frame,width=30,height=5)
text.grid(row=2,column=0,padx=5,pady=5)
root.mainloop()
Please, how can I click on either of the RadioButtons and then the 'Status' Button and get the appropriate text inserted into my Text widget.
I tried doing it but I got this error: _tkinter.TclError: expected floating-point number but got "Male".
Thanks.
You can attach a "command=" to the radiobutton which would make a status button unnecessary. You can insert the appropriate text based on the number of the button clicked. An example from my toolbox.
import tkinter
class CrudGUI:
def __init__(self, master):
self.master = master
self.radio_var = tkinter.IntVar()
self.radio_var.set(1)
# create radio buttons
self.look = tkinter.Radiobutton(self.master, text="Look up customer",
variable=self.radio_var, value=1,
command=self.open_menu)
self.add = tkinter.Radiobutton(self.master, text="Add a customer",
variable=self.radio_var, value=2,
command=self.open_menu)
self.change = tkinter.Radiobutton(self.master, text="Change customer information",
variable=self.radio_var, value=3,
command=self.open_menu)
self.delete = tkinter.Radiobutton(self.master, text="Delete a customer",
variable=self.radio_var, value=4,
command=self.open_menu)
# pack radio buttons
self.look.pack(anchor='w', padx=20)
self.add.pack(anchor='w', padx=20)
self.change.pack(anchor='w', padx=20)
self.delete.pack(anchor='w', padx=20)
self.quit_button = tkinter.Button(self.master, text="QUIT",
command=self.master.quit, bg="orange")
self.quit_button.pack(side='left', expand="yes")
def open_menu(self):
print(self.radio_var.get())
root=tkinter.Tk()
VF=CrudGUI(root)
root.mainloop()