多列:Gridview
在Tkinter中使用gridview时,一个控件可以占用多个列吗?
我看过关于columnspan
的介绍,但它似乎没有效果。我的代码如下:
w = tk.Scale(root, from_=0, to=100, orient=tk.HORIZONTAL)
w.grid(column=0, row=1, columnspan=2, rowspan=1)
那我该怎么做呢?
2 个回答
0
要让元素横向填满,可以使用 sticky="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()
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()
这样做会得到: