消息框得到循环

时间:2016-04-25 03:02:48

标签: python-2.7 loops messagebox tk

当数据不可用且要获取时,我在点击选项菜单时显示一个消息框。但不知何故,每当我更改选项菜单的内容时,消息框都会循环播放。就像 - 第一次当我按下OK时它消失了。当我第二次再次更改选项时,它会两次显示消息框,第三次显示三次。有人能告诉我在我的代码中要改变什么吗?

#the function where I change option menu value
def module_func(event):
        #declarations

        if(dateText.get()!="" and driveText.get()!=""):
                global module_dir
                global selected_module
                modules['menu'].delete(0,END)
                select="-----Select-----"
                modules['menu'].add_command(label=select, command=tk._setit(module,select))
                for module_dir in get_immediate_subdirectories(('%s\%s\%s')%(startPath,selected_shot,selected_fec)):
                        module_dropdown.append(module_dir)
                        modules['menu'].add_command(label=module_dir, command=tk._setit(module,module_dir))


                module.trace('w',setEightText) #think problem is here


        else:
                errormsg("")

def setEightText(*args):
        #declarations
        if(os.path.exists(('%s\%s\%s\%s\%s')%(startPath,selected_shot,selected_fec,selected_module,chan))):
                #some operations

        else:
                tkMessageBox.showinfo("Error","Data at given location not available.\n Please Wait until data is acquired.")

module=tk.StringVar(labelframe1)
module.set("-----Select-----")
modules = tk.OptionMenu(labelframe1, module, module_dropdown, command=module_func)
modules.config(width=20, background="SNOW")
modules.grid(row=8, column=2, sticky="W", padx=10, pady=5)
modules.bind('<Button-1>',module_func)

我认为这个问题是因为追踪。但是不知道要添加什么而不是那个。

0 个答案:

没有答案