【发布时间】:2016-05-30 17:10:23
【问题描述】:
此代码在一个窗口中生成两个画布。然而,Python 不会将它们彼此粘在一起,而是在它们之间放置一个间隙。当我调整窗口大小时,这个差距会变得更大。
from Tkinter import *
class App:
def __init__(self,master):
master.title('Python Canvas Testing')
master.minsize(width=550, height=450)
settingscanvas = Canvas(master,bg="yellow")
settingscanvas.pack(side='top',anchor='nw',expand=True,fill='x')
datacanvas = Canvas(master,bd=1,bg="green")
datacanvas.pack(side='top',anchor='nw',expand=True,fill='both')
for r in xrange(15):
Label(settingscanvas, text='Label'+str(r+1)).grid()
Label(datacanvas, text='Label 2').grid()
## create main program window
window = Tk()
## create window container
app = App(window)
mainloop()
我想念将两张画布粘在一起以确保没有间隙的任何选项吗?
【问题讨论】:
-
@TadhgMcDonald-Jensen:混合
pack和grid不仅是可能的,而且是一种很好的做法。唯一不能做到这一点的是两个或多个共享一个共同父级的小部件。在这种情况下,小部件有不同的父级。 -
我没有注意到它们在不同的父小部件中,我完全收回了我原来的评论。
标签: python tkinter pack tkinter-canvas