下面是一些创建4个单选按钮的示例代码,2个使用int,2个使用str:
from tkinter import *
class test:
def __init__(self):
wind = Tk()
frame1 = Frame(wind)
frame1.pack()
self.v1 = IntVar()
self.v2 = StringVar()
int1 = Radiobutton(frame1, text = 'int1', variable = self.v1, value = 1, command = self.ipress)
int2 = Radiobutton(frame1, text = 'int2', variable = self.v1, value = 2, command = self.ipress)
str1 = Radiobutton(frame1, text = 'str1', variable = self.v2, value = '1', command = self.spress)
str2 = Radiobutton(frame1, text = 'str2', variable = self.v2, value = '2', command = self.spress)
int1.grid(row = 1, column = 1)
int2.grid(row = 1, column = 2)
str1.grid(row = 2, column = 1)
str2.grid(row = 2, column = 2)
str1.deselect() #this didn't fix it
str2.deselect()
def ipress(self):
print('int'+str(self.v1.get()))
def spress(self):
print('str'+self.v2.get())
test()
运行后我有一个看起来像这样的盒子:
出于某种原因,str的开始被选中,而int的则没有.是否有一个原因 ?它有什么问题吗?我知道我可以通过使用数字valuse然后将它们转换为字符串来解决它,但我想先了解为什么会发生这种情况.
如果重要的话,我正在使用Windows 10.
编辑:对于clerification,按钮在单击后仍然可以正常工作.
感谢您的任何帮助