【问题标题】:How to arrange pictures randomly in a table with tkinter?如何使用 tkinter 在表格中随机排列图片?
【发布时间】:2013-08-26 22:25:13
【问题描述】:

我必须在课程中做一个记忆谜题。我有一个包含所有图片的列表。我的问题是如何将这些图片随机排列在表格中。

from tkinter import*
...

请帮我解决这个问题,我怎样才能将图片随机排列在一张桌子上。

【问题讨论】:

  • 好的,我用网格几何管理器在桌子上制作了一些图片,并将一些图片保存在列表中。我的问题是我现在不知道如何在表格中随机排列这些图片。

标签: python image tkinter


【解决方案1】:

使用random 模块生成随机数,然后使用这些随机数来定位图像。此外,将您使用的号码存储在一个列表中,以便您可以检查它是否已经使用过。

import random

ref = []

for image in images:
    n = random.randint(0, 3), random.randint(0, 3)
    while n not in ref:
        n = random.randint(0, 3), random.randint(0, 3)
    ref.append(n)
    image.grid(row=n[0], column=n[1])

(注意:这只是一般的表单代码。您需要对其进行调整以适应您的需要) 祝你好运。

【讨论】:

  • 谢谢你的回答,但我是 Python 的初学者,我无法理解你的代码 :( image、images 和 ref 有什么区别?
  • 对于初学者,我建议不要使用 tkinter,或者完全不要使用类,因为这两个东西都有点高级。就像我说的,这段代码只是通用的,您需要根据自己的需要对其进行更改。查看for 循环并找出它们是什么以及它们是如何工作的。然后你就会明白这段代码了。 images 只是一个包含所有图像的列表。 ref 是我们已经使用过的所有地方的参考,这样当我们对它们进行网格化时,图像就不会重叠。
  • @The_IT:谢谢你的澄清,现在我明白了Images和Image有什么区别,什么是ref。我是一门课程的学生,我必须使用 Class 和 Tkinter。
  • 啊,我明白了。我觉得很有趣他们是如何决定这样教你的。祝你好运。
  • 谢谢 The_IT。最后我学会了如何随机排列图片。我用for循环和一个list把所有图片随机保存在里面,然后放到一个table里:)
猜你喜欢
  • 2020-01-24
  • 2013-01-11
  • 1970-01-01
  • 2020-08-03
  • 1970-01-01
  • 2011-06-03
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多