2015-05-31 3 views
0

Наконец-то я закончил эту чертову вещь! За исключением одного вопроса.Перемешать список виджетов? Tkinter

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

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

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

ответ

1

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

self.buttonList= [self.answerBtn, self.wrong1Btn, 
        self.wrong2Btn, self.wrong3Btn] 
+0

Пробовал, но кнопки все еще продолжаются в том же порядке. –

+1

Не на моем компьютере нет. Последовательные прогоны показывают мне 3, 1, 2, 0, затем 3, 1, 0, 2, затем 2, 3, 0, 1. Что означает, что тасование работает, правильно? – holdenweb