import Tkinter as tk
class GUI(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.canvas=tk.Canvas(self,scrollregion=(0,0,1000,1000))
self.canvas.grid()
self.canvas.create_line(0,0,1000,1000)
self.scroll=tk.Scrollbar(self,orient=tk.HORIZONTAL,command=self.canvas.xview)
self.scroll.grid()
GUI().mainloop()
滚动条似乎太短了,如何用网格布局类改变它的长度?
答案 0 :(得分:4)
您需要为grid
方法提供参数,以指定您希望窗口小部件适合布局的方式。 sticky
参数是关键点。它接受各种格式的基本坐标,这些坐标告诉Tkinter小部件的哪一侧应“粘”到网格单元的相应边。在您的情况下,您希望东侧(E)和西侧(W)粘住,因此您对grid
滚动条的调用可以通过多种方式进行格式化:
(使用Tkinter模块中的各个全局变量)
self.scroll.grid(sticky=tk.E + tk.W)
(使用模块中的特殊组合全局变量)
self.scroll.grid(sticky=tk.EW)
(使用字符串)
self.scroll.grid(sticky="EW")