Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Access StringVar() as a normal string in python

Tags:

python

tkinter

I want to access value of selected Radiobutton and compare it with if statement but on accessing the value I am getting PY_VAR0 instead.

from tkinter import *
ComplaintForm=Tk()
typesel=StringVar()#<--variable I'm using to access value of selected Radiobutton
HighVoltage=Radiobutton(ComplaintForm,text='High Voltage Motor',value='HighVoltage',\
                      anchor=W,font='roboto 18',bg='white',variable=typesel)
HighVoltage.grid(row=5,column=1,padx=5,pady=10)

LowVoltage=Radiobutton(ComplaintForm,text='Low Voltage Motor',value='LowVoltage',\
                      anchor=W,font='roboto 18',bg='white',variable=typesel)
LowVoltage.grid(row=5,column=0,padx=5,pady=10)

print(typesel)#this is printing PY_VAR0 instead of accessing value of above Radiobuttons
mainloop()

PS: I know there are some malpractices in this code which have been introduced to keep the code minimal and problem easily understandable.

like image 464
user9999486 Avatar asked Jan 27 '23 20:01

user9999486


1 Answers

You can access the value of a tkinter Variable Class BooleanVar, DoubleVar, IntVar, or StringVar like this:

my_variable = tk.StringVar()
my_variable.set('value')
print(my_variable.get())   # <-- returns and prints the value contained in my_variable

see here for more info.

like image 184
Reblochon Masque Avatar answered Jan 30 '23 09:01

Reblochon Masque