Python 如何保持小部件在Tkinter中居中?

Python 如何保持小部件在Tkinter中居中?,python,tkinter,Python,Tkinter,当我更改选项菜单时,它会向左移动,我希望所有内容都保持居中 每次我更改widget w2时,它都会更改它 代码: 问题是网格是灵活的,如果我们不想让它们移动,我们需要使用它。网格配置1,重量=100,分钟大小=150分钟,停止移动 从中明确指出: columnconfigure和rowconfigure都采用minsize网格 选项,该选项指定您确实不想要的最小大小 要缩小的列或行 相关的: from Tkinter import * root=Tk() root.geometry("540x

当我更改选项菜单时,它会向左移动,我希望所有内容都保持居中

每次我更改widget w2时,它都会更改它

代码:


问题是网格是灵活的,如果我们不想让它们移动,我们需要使用它。网格配置1,重量=100,分钟大小=150分钟,停止移动

从中明确指出:

columnconfigure和rowconfigure都采用minsize网格 选项,该选项指定您确实不想要的最小大小 要缩小的列或行

相关的:
from Tkinter import *

root=Tk()
root.geometry("540x250+400+250")
root.title('Converter')
root.resizable(0, 0)

variable = StringVar(root)
variable.set("   Select A Measurement   ") # default value

variable2 = StringVar(root)
variable2.set("Select A Second Measurement") # default value

l=Label(root,text='To')
l.grid(row=1, column=1, sticky='NW')

w = OptionMenu(root, variable, "CM", "MM", "M", "Inches")
w.grid(row=1, column=0, sticky='NE')

w2 = OptionMenu(root, variable2, "Inches", "MM", "M", "CM")
w2.grid(row=1, column=2, sticky='NW')

#spacers
w = Label(root,text='  ')
w.grid(row=3, column=1, sticky='NW')

#spacers
w = Label(root,text='  ')
w.grid(row=2, column=1, sticky='NW')

b = Button(root, text="  Convert  ",font=(None,15))
b.grid(row=4, column=1, sticky='NW')

mainloop()
from Tkinter import *

root=Tk()
root.geometry("540x250+400+250")
root.title('Converter')
root.resizable(0, 0)

frame = Frame(root)
frame.grid(row=0, column=0, sticky='NSEW')


frame.grid_columnconfigure(0,minsize=180 )
frame.grid_columnconfigure(1, weight=100,minsize=150)
frame.grid_columnconfigure(2, weight=100,minsize=150)
frame.grid_columnconfigure(3, weight=100,minsize=150)

variable = StringVar(root)
variable.set("   Select A Measurement   ") # default value

variable2 = StringVar(root)
variable2.set("Select A Second Measurement") # default value

l=Label(frame,text='To')
l.grid(row=1, column=1, sticky='NW',)


w = OptionMenu(frame, variable, "CM", "MM", "M", "Inches")
w.grid(row=1, column=0, sticky='NE')

w2 = OptionMenu(frame, variable2, "Inches", "MM", "M", "CM")
w2.grid(row=1, column=2, sticky='NW')

#spacers
w = Label(frame,text='  ')
w.grid(row=3, column=1, sticky='NW')

#spacers
w = Label(frame,text='  ')
w.grid(row=2, column=1, sticky='NW')

b = Button(frame, text="  Convert  ",font=(None,15))
b.grid(row=4, column=1, sticky='NW')

mainloop()