2012-10-11 47 views
2


我想用Tkinter創建一個GUI程序。我的想法是一個帶menuBar和MainFrame的mainWindow,它顯示動態內容。
我想這個添加的大型機:Tkinter(動態)框架不顯示

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() 

回答

3

事實上,你的框架添加成功,但大小爲零(而且看不見的!)。

您可以添加一些內容,或要求佈局管理器爲其提供所有可用空間MainFrame.pack(expand=True, fill="both")

爲了使其可見,borderwith(別名bd)是不夠的。它必須與救濟相結合(例如relief=SUNKEN)。另一種「看到」你的框架的方法是設置一個background