我想用Tkinter创建一个GUI程序。我的想法是一个带有menuBar和MainFrame的mainWindow,它显示了动态内容。
我想通过这个添加MainFrame:
MainFrame = Frame(self, bd = '2')
MainFrame.pack(anchor = CENTER)
但没有任何反应。有什么想法吗?谢谢你的帮助。
程序代码:
class View(Tk):
def __init__(self):
Tk.__init__(self)
self.title('Device Configurator')
self.geometry('500x400')
self.resizable(0,0)
self.countFrame = Frame(self, bd = 2, relief = RIDGE)
self.countFrame.pack(pady = 10, padx = 5)
MainFrame = Frame(self, bd = '2')
MainFrame.pack(anchor = CENTER)
menubar = Menu(self)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label='Configure Devices', command= None)
filemenu.add_command(label='Exit', command=self.quit)
menubar.add_cascade(label='File', menu=filemenu)
infomenu = Menu(menubar, tearoff = 0)
infomenu.add_command(label='About', command = None)
menubar.add_cascade(label='Info', menu = infomenu)
self.config(menu = menubar)
class Controller(object):
def __init__(self):
self.view = View()
self.view.mainloop()
c = Controller()
答案 0 :(得分:3)
事实上,您的框架已成功添加,但尺寸为零(而且不可见!)。
您可以添加一些内容,或要求布局管理员为其提供所有可用空间MainFrame.pack(expand=True, fill="both")
。
要使其可见,borderwith
(别名bd
)是不够的。它必须与救济相结合(例如relief=SUNKEN
)。另一种“查看”框架的方法是设置background
。