为什么Python Tkinter单选按钮向左对齐?

为什么Python Tkinter单选按钮向左对齐?,python,tkinter,Python,Tkinter,我有一个单选按钮对齐问题。我想要三列表单元素。出于某种原因,当我向表单中添加单选按钮时,它们似乎会占用左侧新列的空间。我希望有一个简单的网格布局,每个单元大小相等。情况似乎并非如此。如有任何建议,将不胜感激 以下是我的部分代码: self._mode_state = StringVar() self._mode_radio_timelapse = Radiobutton(self, text="Timelapse", command=self._transition(), va

我有一个单选按钮对齐问题。我想要三列表单元素。出于某种原因,当我向表单中添加单选按钮时,它们似乎会占用左侧新列的空间。我希望有一个简单的网格布局,每个单元大小相等。情况似乎并非如此。如有任何建议,将不胜感激

以下是我的部分代码:

    self._mode_state = StringVar()
    self._mode_radio_timelapse = Radiobutton(self, text="Timelapse", command=self._transition(), value=self._timelapse_mode, variable=self._mode_state)
    self._mode_radio_continuous = Radiobutton(self, text="Continuous", command=self._transition(), value=self._continuous_mode, variable=self._mode_state)
    self._mode_radio_ramphold = Radiobutton(self, text="Ramp and Hold", command=self._transition(), value=self._ramp_hold_mode, variable=self._mode_state)
    self._mode_radio_timelapse.grid(row=0, column=0, pady=10)
    self._mode_radio_continuous.grid(row=0, column=1, pady=10)
    self._mode_radio_ramphold.grid(row=0, column=2, pady=10)

    image_set_label = Label(text="Image Set Type: ")
    image_set_label.grid(row=1, column=0, pady=10)
    self._image_set_type = Entry()
    self._image_set_type.insert(0, "Ramp")
    self._image_set_type.grid(row=1, column=1, pady=10, columnspan=2)

这些小部件并不都在同一个网格上。单选按钮专门设置为
self
的父项,但您的
标签
条目
小部件不是使用任何父项创建的,因此父项默认为根对象

以下是修复方法:

image_set_label = Label(self, text="Image Set Type: ") # made self parent
image_set_label.grid(row=1, column=0, pady=10)
self._image_set_type = Entry(self) # made self parent
self._image_set_type.insert(0, "Ramp")
self._image_set_type.grid(row=1, column=1, pady=10, columnspan=2)

如果从
self.\u image\u set\u type.grid
中删除
columnspan=2
,会发生什么情况?什么都没有。它似乎忽略了这个参数。GUI没有改变。你能发布一个我可以运行的示例吗?宾果!当我添加单选按钮时,我正在玩self属性,但是忘记了它。非常感谢你!