несколько кнопок в одной строке кода в tkinter - PullRequest
2 голосов
/ 24 января 2020

Мне нужно создать 200 кнопок проверки в Tkinter, так как я создаю экран выбора места. Есть ли способ создать все эти кнопки без необходимости печатать их построчно, как в Pygame? до сих пор я пробовал это, но это не похоже на работу. (Я не очень умный кодер, так что это может быть глупой ошибкой).


root = tk.Tk()

frame1 = tk.Frame(root)
frame1.pack(side=tk.TOP, fill=tk.X)
button = list()
for i in range(4):
button.append(tk.Button(frame1, image=karirano, command=partial(klik, i)))
    button[-1].grid(row=0,column=i)
root.mainloop()```

Ответы [ 2 ]

1 голос
/ 24 января 2020

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

Например:

rows = {
    "a": "  xxxx xxxxxxxx xxxx",
    "b": "xxxxxx xxxxxxxx xxxxxx",
    "c": "xxxxxx xxxxxxxx xxxxxx",
}

Затем вы можете выполнять итерации по этим данным, размещая место везде, где есть "x".

Например:

for row_number, row_letter in enumerate(rows.keys()):
    for seat_number, c in enumerate(rows[row_letter]):
        if c == "x":
            seat = tk.Button(frame1, ...)
            seat.grid(row=row_number, column=seat_number)
0 голосов
/ 24 января 2020

кажется, что это просто синтаксическая ошибка, код работает так, как я хотел сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...