Возврат нескольких вариантов выбора из списка tk - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть список и я хотел бы иметь возможность вернуть несколько вариантов выбора из указанного списка.

Я попытался изменить переменную seltext на формат списка (map (int ()))), ноЯ получаю сообщение об ошибке неверного индекса списка.

Я не уверен, как это сделать;любая помощь приветствуется.

Способ, которым я в настоящее время идентифицирую выбранную переменную:

        def selecting(self,event):
            sel = self.lbox.curselection()
            seltext = self.lbox.get(sel)
            self.labelVariable.set(seltext)

Способ, которым я назначаю один выбор.

        def OnButtonClick(self):
            global confirmedsel
            confirmedsel = ""
            sel = self.lbox.curselection()
            seltext = self.lbox.get(sel)
            confirmedsel = seltext
            print(confirmedsel)
            app.quit()

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

Метод curselection списка возвращает список индексов, представляющих выбранные элементы.Вам просто нужно перебрать этот список и вызвать метод get, чтобы получить каждый элемент.

Вы делаете это в одну строку, используя понимание списка, в результате чего получается список, содержащий значения выбранных элементов.в виде строк:

seltext = [self.lbox.get(index) for index in self.lbox.curselection()]

Если вам трудно понять списки, вот решение с использованием простого цикла:

results = []
for index in self.lbox.curselection():
    results.append(self.lbox.get(index))
0 голосов
/ 22 ноября 2018
def selecting(self,event):
        sel = self.lbox.curselection()
        seltext = list(map(int,self.lbox.get(sel)))
        self.labelVariable.set(seltext)

Вы пробовали это?Вы можете посмотреть использование curselection здесь: http://effbot.org/tkinterbook/listbox.htm

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