我正在创建一个派生自 tkSimpleDialog.Dialog 的类。
我已经实现了 body(self, master) 方法,在这里我创建了一些小部件(按钮、标签)并使用 grid() 对其进行布局。
我将网格布局设置为拉伸,但它从不占用整个窗口。此外,如果我调整窗口大小,小部件将保持原位而不移动。
这是初始布局:
这是我调整窗口大小时发生的情况:
这是我的代码:
import Tkinter
import tkSimpleDialog
class Test(tkSimpleDialog.Dialog):
# ########################################
def __init__(self, parent):
tkSimpleDialog.Dialog.__init__(self, parent, "?")
# ########################################
def body(self, master):
Tkinter.Label(master, text="Hello").grid(row=0, column=0, columnspan=2, sticky="nsew")
Tkinter.Button(master, text="ONE").grid(row=1, column=0, sticky="nsew")
Tkinter.Button(master, text="TWO").grid(row=1, column=1, sticky="nsew")
master.columnconfigure(0, weight=1)
master.columnconfigure(1, weight=1)
master.rowconfigure(0, weight=1)
master.rowconfigure(1, weight=1)
self.resizable(height=True, width=True)
if __name__ == "__main__":
Test(Tkinter.Tk("test"))
期望的行为是:按钮 ONE 和 TWO 将伸展以填满窗口。有什么建议吗?
谢谢!