将Python Tkinter IntVar()列表转换为常规int列表?



使用Tkinter get()函数,我可以在一些Tkinter复选框中获取IntVar()值:

wind_solar = IntVar()
wind_CC = IntVar()
wind_CT = IntVar()
renewables = [wind_solar.get(), wind_CC.get(), wind_CT.get()]
print("renewable resources to simulate:", 'n', renewables)

打印的输出是[1,0,1],这在技术上是正确的,但它打印为IntVar列表,而我想打印为整数列表(即非tkinter列表)。例如,我只想将IntVar列表转换为常规列表。帮助吗?

我只想将IntVar列表转换为常规列表。帮助吗?

如果是这种情况,不要将值强制转换为IntVars

window_solar = IntVar()
wind_CC = IntVar()
wind_CT = IntVar()
...
renewables = [wind_solar.get(), wind_CC.get(), wind_CT.get()]
print("renewable resources to simulate:", 'n', renewables)

或者,如果您已经有一个IntVar的列表,您可以使用列表推导式:

vars = [window_solar, wind_CC, wind_CT]
...
renewables = [var.get() for var in vars]
print("renewable resources to simulate:", 'n', renewables)

最新更新