Python Tkinter grid_forget在嵌入式类中的行为不符合预期。这段代码有什么问题?

时间:2016-03-17 18:31:25

标签: python tkinter

我有以下示例代码:

class A():
    def foo(self):

        def onButtonPress():
            progress.grid()
            progress.start()

        progress = ttk.Progressbar(
            root,
            orient="horizontal"
            mode="indeterminate")

        progress.grid(
            row=3,
            column=0,
            columnspan=2,
            sticky="nswe")

        # Make it invisible at first
        progress.grid_forget()

当我运行它时,它首先是不可见的,但是一旦启动,网格 就会被遗忘,这意味着它只是在没有格式化的情况下被抛出。我使用相同的代码替换onButtonPress中的grid()命令,它可以工作并填充列。我跟着这个solution.任何想法有什么不对?

编辑:新手错误,使用grid_forget而不是grid_remove。 grid_remove修复了所有。

1 个答案:

答案 0 :(得分:0)

我不熟悉tkinter,但这里有语法错误。

progress = ttk.Progressbar( #forgot to open parenthesis 
            root,
            orient="horizontal", #need another comma
            mode="indeterminate")