【发布时间】:2012-06-29 07:28:58
【问题描述】:
我知道过去有很多关于 grid 和 pack 的问题,但我只是不明白如何将两者结合起来,因为我很难在两个方向(行/列)上扩展我的“表格”。
按钮我希望保持相同的大小,但始终保持在窗口的底部。 但是,我希望通过调整窗口大小来自动扩展“表格”,但似乎无法使其正常工作。将 'win1' 改为 pack 在某种意义上是有效的,因为它保持在中心位置,但仅此而已。
我知道我需要更改术语,因此如何使用 pack 实现相同的效果,例如粘性等。
代码如下(显示基本框架和几个小部件,不是完整代码):
root = Tk()
win1 = Frame(root)
win1.pack()
win1.grid_columnconfigure(0, weight=1)
win1.grid_rowconfigure(1, weight=1)
frame_table = ttk.Frame(win1, style="Black.TLabel", relief='sunken', borderwidth=1)
frame_table.pack(row=2, column=0, padx=1, pady=1, sticky= "nsew")
frame_table.grid_columnconfigure(0, weight=1)
frame_table.grid_rowconfigure(1, weight=1)
text_table1 = Label(frame_table, text='Number1', bg='white', borderwidth=0)
text_table1.grid(row=1, column=0, sticky="nsew", padx=1, pady=1)
empty1 = Label(frame_table, bg='white', borderwidth=0)
empty1.grid(row=2, column=0, sticky="nsew", padx=1, pady=1)
text_table2 = Label(frame_table, text='Number2', bg='white', borderwidth=0, width=12)
text_table2.grid(row=1, column=1, sticky="nsew", padx=1, pady=1)
empty2 = Label(frame_table, bg='white', borderwidth=0)
empty2.grid(row=2, column=1, sticky="nsew", padx=1, pady=1)
frame_but = ttk.Frame(win1)
frame_but.grid(sticky=S, padx=1, pady=1)
frame_but.grid_columnconfigure(0, weight=1)
frame_but.grid_rowconfigure(1, weight=1)
but1 = ttk.Button(frame_but, text='Start', command=Start)
but1.grid(row=3, column=0, padx=2, pady=1, sticky="S")
【问题讨论】: