我想显示两个帧和一个画布,以便:
我没有得到预期的结果。这是我的密码:
from Tkinter import *
class Mine(Frame):
def __init__(self,master):
Frame.__init__(self,master)
self.frameh()
self.framev()
self.thecanvas()
# horizontal frame on top spanning over 2 columns
def frameh(self):
self.fh=Frame(root,width=400,height=40,bg="red")
self.fh.grid(sticky=N,row=0,columnspan=2)
# vertical frame on bottom
def framev(self):
self.fv=Frame(root,height=200,bg="blue")
self.fv.grid(sticky=S+W,row=1,column=0)
def thecanvas(self):
self.c=Canvas(root,width=500,height=200,bg="black")
self.c.grid(sticky=S+E,row=1,column=1)
if __name__=="__main__":
root=Tk()
root.wm_title("mine")
m=Mine(root)
root.mainloop()
我想您应该为
frameh
设置columnspan=2
,以便它同时跨越framev
列和thecanvas
列(加上额外的sticky
使其填满整个宽度),并为framev
定义一个非零的最小宽度:这给了我:
相关问题 更多 >
编程相关推荐