如何使用Tkin在python中获取用户在数组中检查的值

2024-06-26 03:50:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我从Tkinter和Python开始,如何在用户单击按钮后在新数组中添加复选框?IntVar类型不可iterable,也不可hashable如何解决我的问题

from tkinter import *

newarray=[]

def mget():
    variables = [var1, var2, var3, var4]
    #dict ={}
    #dict[var1]=var1
    print(var1.get(), var2.get() , var3.get())
    if(var1.get() == 1):
        newarray.extend(var1.get())


window = Tk()

#Variables initialisation
var1 = IntVar()
Checkbutton(window, text="one", variable = var1).grid(row=0, sticky=W)   
var2 = IntVar()
Checkbutton(window, text="two", variable = var2).grid(row=1, sticky=W)    
var3 = IntVar()
Checkbutton(window, text="three", variable = var3).grid(row=2, sticky=W)

#ButtonToGetCheckBoxesValues
Button(window, text="ZZZ", command=mget).grid(row=4, sticky=W)

window.mainloop()

我需要存储用户检查和提交的值。多谢各位


Tags: textgetwindowvariabledictgridrowsticky
1条回答
网友
1楼 · 发布于 2024-06-26 03:50:28

如果我理解正确的话,你想要这样的东西:

from tkinter import *

newarray=[]

def mget():

    print(var1.get(), var2.get() , var3.get())



window = Tk()

#Variables initialisation
var1 = IntVar()
Checkbutton(window, text="one", variable = var1, onvalue=1).grid(row=0, sticky=W)   
var2 = IntVar()
Checkbutton(window, text="two", variable = var2, onvalue=2).grid(row=1, sticky=W)    
var3 = IntVar()
Checkbutton(window, text="three", variable = var3, onvalue=3).grid(row=2, sticky=W)

#ButtonToGetCheckBoxesValues
Button(window, text="ZZZ", command=mget).grid(row=4, sticky=W)

window.mainloop()

通常,选中按钮的相关控制变量在设置(打开)时将设置为1。通过将onvalue设置为该值,可以为on状态提供备用值

相关问题 更多 >