2014-03-27 64 views
0

在Tkinter中使用gridview時,一個小部件可以佔用多個列嗎?多列:Gridview

我已閱讀約columnspan,但它不工作。我的代碼如下:

w = tk.Scale(root, from_=0, to=100, orient=tk.HORIZONTAL) 
w.grid(column=0, row=1, columnspan=2, rowspan=1) 

那麼我該怎麼做?

+0

不是你的答案:你可以使用'ipadx'&'ipady'。它的工作偉大的'列'而不是'rowspan' – Gogo

+1

適合我工作。是什麼讓你覺得它不起作用?你有錯誤嗎? – ebarr

+0

&爲什麼您的列可能無法工作,因爲如果您在整個佈局中只使用1列,那麼即使使用列間隔也無濟於事。它只會在你使用第2列的時候才起作用(至少對我來說是這樣) – Gogo

回答

2

因此,這裏是如何columnspan工作的一個很小的例子:

import Tkinter as tk 

root = tk.Tk() 
w = tk.Scale(root, from_=0, to=100, orient=tk.HORIZONTAL) 
w.grid(column=0, row=1, columnspan=2, rowspan=1) 
tk.Label(root,text="column 0").grid(row=0,column=0) 
tk.Label(root,text="column 1").grid(row=0,column=1) 

root.mainloop() 

這將給:

Example Tk output with Scale spanning 2 columns

0

要水平填充,用粘= 「EW」(東到西)。要垂直填充行,請使用sticky =「ns」(從北到南)。請注意,在下面的代碼中,比例尺完全填充了兩列,但在這種特殊情況下略有不同。

import Tkinter as tk 

root = tk.Tk() 
w = tk.Scale(root, from_=0, to=100, orient=tk.HORIZONTAL) 
##w.grid(column=0, row=1, columnspan=2, rowspan=2) 
w.grid(column=0, row=1, columnspan=2, rowspan=2, sticky="ew") 
tk.Label(root,text="column 0").grid(row=0,column=0) 
tk.Label(root,text="column 1").grid(row=0,column=1) 

root.mainloop()