洗牌小部件列表? Tkinter

Shuffling list of widgets? Tkinter

我终于把这该死的东西做完了!除了一个问题。

我有一个用 tkinter 创建的程序测验程序,它从 JSON 文件中的列表中获取字典。现在一切似乎都工作正常,除了保持相同顺序的按钮列表的洗牌(例如,如果答案按钮位于框架的最右侧,每个连续的问题答案将位于最右侧边)。

现在每次运行 clickCorrect 时,它都会运行 loadQuestion,它将字典值配置为 4 个按钮,然后将其附加到列表 (buttonList)。然后我打乱这个列表并按索引打包按钮(我假设因为每次程序循环时它们都会被打乱每个按钮将有一个不同的索引因此打乱按钮的顺序)但仍然保持相同的顺序。是按钮的包装造成的吗?还是 random.shuffle() 位置不对??

基本上我要问的是,是否从否定 random.shuffle() 方法的列表中打包值(按钮)?

您应该在创建按钮列表后立即打乱按钮列表(您在评论中说 # shuffle button list)。顺便说一句,通过编写

创建列表同样容易
self.buttonList= [self.answerBtn, self.wrong1Btn,
                  self.wrong2Btn, self.wrong3Btn]