问题 :Tkinter按钮使用网格扩展
TkDocs:网格几何管理器处理大小调整
您只配置
root增长:root.grid_columnconfigure(0, weight=1)root.grid_rowconfigure(0, weight=1)
如果有多余的空间 ,您还必须配置
keyboard框架以使其 增长 ,添加:
keyboard.grid_columnconfigure(0, weight=1)keyboard.grid_rowconfigure(0, weight=1)
您必须配置 每一个
keyboard row/column用
weight=1。
您没有设置
keyboard扩展框架keyboard.grid(row=0,column=0)
改成
keyboard.grid(row=0,column=0, sticky=NSEW)
工作示例:
root=Tk()root.geometry("500x500")root.grid_columnconfigure(0, weight=1)root.grid_rowconfigure(0, weight=1)keyboard=frame(root,padx=5,pady=5,bg="red")keyboard.grid(row=0,column=0, sticky=NSEW)for row, row_buttons in enumerate([['%', '√x', 'x²', '1/x'], ["C", "←", "÷"]]): keyboard.grid_rowconfigure(row, weight=1) for col, text in enumerate(row_buttons): keyboard.grid_columnconfigure(col, weight=1) Button(keyboard, padx=5, pady=5, text=text).grid(row=row, column=col, sticky='EWNS')使用Python测试:3.5-TkVersion:8.6



