随机添加按钮到Tkinter GUI?

时间:2010-05-18 00:40:31

标签: python windows random tkinter button

如何将按钮随机添加到Tkinter GUI?我需要它能够创建一个按钮,然后把它放在窗口的任何地方,这可能吗?我在Windows上使用Python 2.6。

2 个答案:

答案 0 :(得分:2)

如果您想要随机按钮放置(或任何未沿网格对齐的内容等),您可以使用place geometry manager。但是,根据平台的不同,重叠按钮的行为可能与您预期的不同,因此您可能希望避免使用它们。

这是一个简单的例子:

from Tkinter import *
from random import random

root = Tk()
frame = Frame(root, height=200, width=200)

for i in range(10):
    Button(frame, text=str(i)).place(x=random() * 150, y=random() * 180)

frame.pack()
root.mainloop()

答案 1 :(得分:0)

有多种选择可供选择。例如,您可以在网格上进行设计,每行有六个按钮。然后,只需从第0行开始,递增每个按钮的列。当您到达最后一列时,将列重置为0并将该行加1。

另一种选择是使用文本小部件作为容器,并在启用了包装的情况下将按钮嵌​​入到文本小部件中。使用此技巧,按钮将自动填充行并在用户增大或缩小主窗口时进行换行。这是一个更多的工作,但如果这是你想要的行为,它会很好。