Почему мой Python отображает только пустой ящик tkinter? [Дубликат]

1
задан kopp 3 November 2013 в 01:40
поделиться

1 ответ

Первая проблема заключается в том, что вы помещаете холст в кадр (экземпляр Interface), но вы никогда не делаете этот кадр видимым. Поскольку этот кадр предназначен для всего UI (я предполагаю), вы можете сделать это:

root = Tk()
ui = Interface(root)
ui.pack(side="top", fill="both", expand=True)
ui.mainloop()

Обратите внимание, что я вызываю pack на объект ui.

Это разрешает только половину проблемы. Вторая проблема заключается в том, что вы не делаете холст видимым в своем родителе. Вы можете использовать для этого pack, grid или place. Здесь я использую pack:

self.canvas.pack(side="top", fill="both", expand=True)

У вас, похоже, есть и третья проблема: вы создаете меню, но вы не заставляете его быть видимым. В случае меню вы обычно указываете его как значение атрибута menu в корневом окне. В вашем случае вы можете сделать что-то вроде этого:

self.master.configure(menu=self.m)
1
ответ дан Bryan Oakley 17 August 2018 в 21:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: