Случайно добавить кнопки в графический интерфейс Tkinter? - PullRequest
0 голосов
/ 18 мая 2010

Как случайно добавить кнопки в графический интерфейс Tkinter? Мне нужно, чтобы можно было создать кнопку, а затем поместить ее в любом месте окна, это возможно? Я использую Python 2.6 в Windows.

Ответы [ 2 ]

2 голосов
/ 18 мая 2010

Если вы хотите произвольное размещение кнопок (или что-либо не выровненное по сетке и т. Д.), Вы можете использовать менеджер геометрии места . В зависимости от платформы перекрывающиеся кнопки могут работать не так, как вы ожидаете, поэтому вы можете их избежать.

Вот простой пример:

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()
0 голосов
/ 19 мая 2010

Есть несколько вариантов на выбор. Например, вы можете создать дизайн на сетке, где у вас есть шесть кнопок в строке. Тогда нужно просто начать с строки 0, увеличивая столбец для каждой кнопки. Когда вы доберетесь до последнего столбца, установите для него значение 0 и увеличьте строку на единицу.

Другим вариантом является использование текстового виджета в качестве контейнера и вставка кнопок в текстовый виджет с включенным переносом. С помощью этого трюка кнопки будут автоматически заполнять строку и переносить ее, если пользователь увеличивает или уменьшает основные окна. Это немного больше работы, но она работает хорошо, если вы хотите именно такое поведение.

...