Как получить значения, проверенные пользователем в массиве в Python с Tkinter - PullRequest
0 голосов
/ 13 февраля 2019

Я начинаю с Tkinter и Python, как я могу добавить флажки в новый массив после того, как пользователь нажмет кнопку?Тип IntVar не повторяется и не может быть хэшируемым. Как я могу исправить мою проблему?

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()

Мне нужно хранить значения, проверенные и отправленные пользователем.Спасибо

1 Ответ

0 голосов
/ 13 февраля 2019

Если я правильно понимаю, вы хотите что-то вроде этого:

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, когда она установлена ​​(включена).Вы можете указать альтернативное значение для состояния on, установив значение onvalue в это значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...