Как установить значения для значений Radiobuttons по умолчанию, которые были созданы с помощью цикла в tkinter? - PullRequest
2 голосов
/ 11 октября 2019

Я посмотрел похожий пост, как мой Ссылка , но установка значения в 0 не работает. Я также попробовал self.Btna.select()

Я скопировал этот код из здесь , но изменил его в соответствии с моими потребностями.

     self.vars = []
     for idx,i in enumerate(self.info):
         self.var = IntVar(value=0)
         self.vars.append(self.var)
         self.lblOption = Label(main,text=i)
         self.btnYes = Radiobutton(main, text="Yes", variable=self.var, value=2)
         self.btnNo = Radiobutton(main, text="No", variable=self.var, value=1)
         self.btnNa = Radiobutton(main, text="N/A", variable=self.var,value=0)
         self.lblOption.grid(column=1,row=idx, sticky = E)
         self.btnYes.grid(column=2,row=idx)
         self.btnNo.grid(column=3,row=idx)
         self.btnNa.grid(column=4,row=idx)

это создает мне приятные плавные радиокнопки вместе снекоторые ярлыки. Но я пытаюсь сбросить все значения обратно до N/A, если некоторые из них выбраны как yes или no.

Я пробовал self.Btna.select(), но это отменяет выбор последнего элемента в списке, но не всех,

Также пробовал следующее:

        for a in self.btnNa:
                a.select()

с ошибкой:

TypeError: can only concatenate str (not "int") to str

1 Ответ

2 голосов
/ 11 октября 2019

Вам необходимо установить значение радиобаттона variable, чтобы изменить его значение.

Try,

for intvar in self.vars:
    intvar.set(0)

Это должно сбросить все обратно к значению 0, которое равно "N/A".

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