Python 无法更改CheckButton变量值
我对checkbtn值有点问题 这是我的密码:Python 无法更改CheckButton变量值,python,tkinter,tkinter.checkbutton,Python,Tkinter,Tkinter.checkbutton,我对checkbtn值有点问题 这是我的密码: def select_data(): select_window = Tk() var_autotrader = IntVar() check_sites_autotrader = Checkbutton(select_window, text = 'autotrader', variable = var_autotrader) var_bestcarfinder = IntVar(
def select_data():
select_window = Tk()
var_autotrader = IntVar()
check_sites_autotrader = Checkbutton(select_window, text = 'autotrader', variable = var_autotrader)
var_bestcarfinder = IntVar()
var_cardady = IntVar()
var_cars = IntVar()
var_car_gurus = IntVar()
var_iseecars = IntVar()
var_truecar = IntVar()
check_sites_bestcarfinder = Checkbutton(select_window, text = 'bestcarfinder', variable = var_bestcarfinder)
check_sites_cardaddy = Checkbutton(select_window, text = 'cardady', variable = var_cardady)
check_sites_cars = Checkbutton(select_window, text = 'cars.com', variable = var_cars)
check_sites_car_gurus = Checkbutton(select_window, text = 'car gurus', variable = var_car_gurus)
check_sites_iseecars = Checkbutton(select_window, text = 'iseecars', variable = var_iseecars)
check_sites_truecar = Checkbutton(select_window, text = 'truecar', variable = var_truecar)
check_sites_autotrader.grid(row = 0, column = 0, sticky = W)
check_sites_bestcarfinder.grid(row = 1, column = 0, sticky = W)
check_sites_cardaddy.grid(row = 2, column = 0, sticky = W)
check_sites_cars.grid(row = 3, column = 0, sticky = W)
check_sites_car_gurus.grid(row = 4, column = 0, sticky = W)
check_sites_iseecars.grid(row = 5, column = 0, sticky = W)
check_sites_truecar.grid(row = 6, column = 0, sticky = W)
def upload_selected_data():
print(var_autotrader.get())// This one does not give me 1 when check is on
btn = Button(select_window, text = 'go!', command = upload_selected_data)
btn.grid(row = 7, column = 0, sticky = W+E)
问题是,当我选中该框时,我的变量没有改变
多谢各位 可能是您使用Tk()
创建了“主窗口”。在这种情况下,您应该使用Toplevel()
(而不是Tk()
)创建另一个窗口
这意味着您应该将
select\u window=Tk()
行更改为select\u window=Toplevel()
这是否回答了您的问题?不,因为这是一个主窗口。非常感谢。您发布的代码在python 3.6.8 Win10上的效果与我预期的一样。我认为需要更多的代码或信息来了解问题所在,因为它似乎不在这段孤立的代码中。这段代码真的再现了问题吗?我看不到您在哪里调用mainloop
,因此用户甚至无法看到窗口,更不用说与它交互了。如果将select\u window
传递给所有IntVar()
像IntVar(select\u window)
一样,则def upload\u selected\u data
也会出现缩进错误,您是否得到了想要的内容?如果是,则它肯定是select\u窗口
不是根窗口。