Перетасовка списка виджетов? Ткинтер

Наконец-то я закончил эту чертову штуку! Кроме одной проблемы.

У меня есть программа-викторина, созданная с помощью tkinter, которая берет словарь из списка внутри файла JSON. Теперь все работает нормально, за исключением перетасовки списка кнопок, которые остаются в том же порядке (например, если кнопка ответа находится в крайней правой части рамки, ответ на каждый последующий вопрос будет в крайнем правом углу). сторона).

Теперь при каждом запуске clickCorrect запускается loadQuestion, который настраивает значения словаря на 4 кнопки, которые затем добавляются в список (buttonList). Затем я перемешиваю этот список и упаковываю кнопки по индексу (я предполагаю, что, поскольку они перемешиваются каждый раз, когда программа зацикливается, каждая кнопка будет иметь другой индекс и, таким образом, порядок кнопок меняется), но все же остаются в том же порядке. Причина в упаковке кнопок? Или random.shuffle() находится не в том месте??

По сути, я спрашиваю, если упаковка значений (кнопок) из списка отрицает метод random.shuffle()?


person Youngn'    schedule 31.05.2015    source источник


Ответы (1)


Вы должны перетасовать список кнопок сразу после того, как вы его создали (где у вас есть комментарий, говорящий # shuffle button list). Кстати, было бы так же просто создать список, написав

self.buttonList= [self.answerBtn, self.wrong1Btn,
                  self.wrong2Btn, self.wrong3Btn] 
person holdenweb    schedule 31.05.2015
comment
Пробовали это, но кнопки продолжают работать в том же порядке. - person Youngn'; 31.05.2015
comment
Не на моем компьютере их нет. Последовательные прогоны показывают мне 3, 1, 2, 0, затем 3, 1, 0, 2, затем 2, 3, 0, 1. Что означает, что перемешивание работает, верно? - person holdenweb; 31.05.2015