import Tkinter as tk
from Tkinter import Frame
class App(Frame):
def __init__(self, pixwidth, pixheight):
self.__initialize_master(pixwidth, pixheight)
Frame.__init__(self, self.master)
self.pack()
self.__initialize_top()
def __initialize_master(self, width, height):
self.master = tk.Tk()
self.master.geometry("%dx%d+100+100" % (width, height))
def __initialize_top(self):
self.top_frames = [tk.LabelFrame(self, text="Status"),
tk.LabelFrame(self, text="Graph"),
tk.LabelFrame(self, text="Universal Controls")]
for i in xrange(3):
self.top_frames[i].grid(row=0,
column=2*i,
rowspan=4,
columnspan=2,
sticky='nswe')
def run(self):
self.master.mainloop()
if __name__=="__main__":
app = App(800, 600)
app.run()
我不确定我应该看到什么,但我希望至少能看到LabelFrames的标题或其他东西!但我所看到的只是一个空白的窗口。我不确定为什么我看不到东西,有人能指出我做错了吗?
答案 0 :(得分:1)
要显示LabelFrame,您应该至少添加一个小部件。
def __initialize_top(self):
self.top_frames = [tk.LabelFrame(self, text="Status"),
tk.LabelFrame(self, text="Graph"),
tk.LabelFrame(self, text="Universal Controls")]
for i in xrange(3):
self.top_frames[i].grid(row=0,
column=2*i,
rowspan=4,
columnspan=2,
sticky='nswe')
lb = tk.Label(self.top_frames[i], text='test') # <-----
lb.pack()
答案 1 :(得分:1)
由于你没有给你的labelframes任何孩子,并且你没有指定宽度和高度,每个帧的大小将是1个像素。所以,他们在屏幕上,你只是看不到他们
如果你在每个框架中放置一些东西,或者你给它们一个宽度和一个高度,它们就会显示出来。