Python Tkinter tkSimpleDialog.对话框调整大小
我正在创建一个从tkSimpleDialog.Dialog派生的类 我已经实现了body(self,master)方法,在这里我创建了一些小部件(按钮、标签),并使用grid()对它们进行布局 我将网格布局设置为拉伸,但它从不占用整个窗口。此外,如果我调整窗口大小,小部件将保持在原位而不移动 以下是初始布局: 下面是我调整窗口大小时发生的情况: 这是我的密码:Python Tkinter tkSimpleDialog.对话框调整大小,python,tkinter,Python,Tkinter,我正在创建一个从tkSimpleDialog.Dialog派生的类 我已经实现了body(self,master)方法,在这里我创建了一些小部件(按钮、标签),并使用grid()对它们进行布局 我将网格布局设置为拉伸,但它从不占用整个窗口。此外,如果我调整窗口大小,小部件将保持在原位而不移动 以下是初始布局: 下面是我调整窗口大小时发生的情况: 这是我的密码: import Tkinter import tkSimpleDialog class Test(tkSimpleDialog.Di
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"))
所需的行为是:按钮1和按钮2将拉伸以填充窗口。有什么建议吗
谢谢 这似乎是Dialog类中的一个bug。在打包对话框主要部分的代码中,它执行以下操作:
body.pack(padx=5, pady=5)
请注意,它不包括
展开
或填充
属性,因此主体不会增长以填充其父对象中的额外空间 这似乎是Dialog类中的一个bug。在打包对话框主要部分的代码中,它执行以下操作:
body.pack(padx=5, pady=5)
请注意,它不包括
展开
或填充
属性,因此主体不会增长以填充其父对象中的额外空间 我确认后,将该行更改为:body.pack(padx=5,pady=5,fill=BOTH,expand=True),它现在可以工作了。Windows上的文件是:/Lib/Lib tk/tkSimpleDialog.pyI confirm,将该行更改为:body.pack(padx=5,pady=5,fill=BOTH,expand=True),它现在可以工作了。Windows上的文件是:/Lib/Lib tk/tkSimpleDialog.py