如何更改Tkinter中滚动条的长度

时间:2013-06-05 17:31:30

标签: python-2.7 tkinter

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

滚动条似乎太短了,如何用网格布局类改变它的长度?

1 个答案:

答案 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")