Tkinter得到错误的小部件顺序

时间:2014-07-25 19:30:40

标签: python tkinter frame toolbar

我想这是一个非常初学者的问题。我正在使用Tkinter在Python中获取GUI。但是,框架下方的代码以错误的顺序显示。

# ********************************************
# * Frame for toolbar                        *
# ********************************************

# Main frame
self.fr_toolbar = Frame(self)
self.fr_toolbar.pack(fill=X)
self.fr_toolbar.grid_columnconfigure(0, weight=1)

# Align toolbars left
self.fr_left = Frame(self.fr_toolbar, bd=1, relief = RAISED)
self.fr_left.grid(row=0, column=0, sticky=W+E)

# Align toolbars right
self.fr_right = Frame(self.fr_toolbar, bd = 1, relief = RAISED)
self.fr_right.grid(row=0, column=1, sticky=E)


# *********************************************
# * Communication toolbar                     *
# *********************************************

# Create Frame for comm toolbar
self.tb_comm = Frame(self.fr_left)
self.tb_comm.grid(row=0, column=0)

# Several buttons in here...


# ********************************************
# * Scope toolbar                            *
# ********************************************

# Seperator line
self.fr_split = Frame(self.fr_left, bd=1, relief=SUNKEN, width=2, height=28)
self.fr_split.grid(row=0, column=1)

# Create frame for scope toolbar
self.tb_scope = Frame(self.fr_left)
self.tb_scope.grid(row=0, column=2)

# Several buttons in here


# *********************************************
# * Exit tool bar                             *
# *********************************************

# Create frame for exit tool bar
self.tb_exit = Frame(self.fr_right)
self.tb_exit.pack()

# Exit button here

这个想法是让右边的出口工具栏和左边的所有其他工具栏。到目前为止它的作用。 fr_left内的所有工具栏框都在左侧。 fr_right中的tb_exit位于右侧。

但是在fr_left里面我得到错误的命令来显示我的工具栏。首先我得到tb_comm,然后是tb_scope,第三个是fr_split,即使它是在其他两个工具栏之间设置的。我用pack()和grid()尝试了它。

有人可以解释我做错了什么吗?我认为至少使用pack()我将按照我定义的顺序获取小部件。与grid()相同。我用列命令它们,但Python忽略了它。

弗洛里安

1 个答案:

答案 0 :(得分:0)

好的,你被允许打我!我在tb_comm中错误地设置了tb_scope的按钮。因此,所有工具栏都在正确的位置,但只有按钮不在。正如我写的,初学者错了......

抱歉偷走你的时间!