Кадры Ткинтера мешают друг другу - PullRequest
0 голосов
/ 10 октября 2018

Я новичок в 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")

Как видите, каждый индекс в кадрах содержит ссылку на кадр.

Итак, мой вопроспочему добавление виджета «Текст» мешает плиткам, когда я помещаю их в два совершенно разных фрейма?

1 Ответ

0 голосов
/ 10 октября 2018

Для текстового виджета ширина и высота указываются в числах символов и строк текста.width=200, height=525 будет иметь ширину 200 символов и высоту 525 строк.Плитки исчезают, потому что текстовый виджет «толкает» их вниз во фрейме.

Попробуйте width=10, height=10, и текстовый виджет появится снова.

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