Я новичок в python и создаю простой графический интерфейс для игры на основе тайлов с использованием Tkinter.Недавно я узнал о PyGame и могу рассмотреть возможность его использования, но сейчас я бы хотел диагностировать эту ошибку.
Вот моя проблема.
Корневое окно содержит два фрейма - фрейм для фишек и фрейм для истории игры.
Рамка для плиток состоит из еще 11 × 7 рамок с разноцветным фоном, а рамка для истории игры будет содержать простой текстовый виджет.
Я создаю рамки в корневом окне, кактак:
# Create the root window
root = tk.Tk()
root.title("The Downfall of Pompeii")
root.geometry("1025x525")
root.configure(background="red")
# root.resizable(False, False)
board_frame = tk.Frame(root, width=825, height=525)
information_frame = tk.Frame(root, width=200, height=525)
board_frame.grid(row=0, column=0),
information_frame.grid(row=0, column=1)
Это работает, как и ожидалось: игровое окно
Но, когда я добавляю виджет Текст в информационный фрейм, вот так:
information_area = tk.Text(information_frame, width=200, height=525)
information_area.grid(row=0, column=0)
Это происходит: плитки исчезают
Текстовый виджет добавлен и работает, как и ожидалось, но теперь он мешает всем кадрам (плиткам), которые я добавил в board_frame.Кадры добавляются по частям, а затем выровнены с помощью цикла for:
# Align all frames
for i in range(rows):
for j in range(cols):
frames[i][j].grid(row=i, column=j, columnspan=1, sticky="nsew")
Как видите, каждый индекс в кадрах содержит ссылку на кадр.
Итак, мой вопроспочему добавление виджета «Текст» мешает плиткам, когда я помещаю их в два совершенно разных фрейма?