从python&#t; tkinter菜单中获取返回值

时间:2016-09-17 11:23:33

标签: python-2.7 tkinter

这就是我的程序流程。用户通过菜单加载文件,并调用loadFile函数。

Figure 1

def loadFile():
    dictList = defaultdict(list)
    filename = askopenfilename(filetypes=[("text files","*.txt")])
    #process the file content and store in dictList
    return dictList

现在在GUI中,当用户点击加载文件菜单时,将调用加载文件。因为loadfile返回一个dictList对象,我需要它在以后进行进一步处理。如何在不使用全局变量的情况下获取返回的对象?我也没有以面向对象的方式编码。

fileMenu.add_command(label="Load File", command=loadFile)

1 个答案:

答案 0 :(得分:1)

如果不使用全局变量,则无法执行此操作。变量必须以可以从多个函数访问的方式存储。由于您没有使用对象,因此您唯一的 1 选择是使用全局变量。

1 从技术上讲,它不是唯一的选择。您可以使用某种类型的数据库,或将值写入磁盘,但这是此方案中唯一可行的选择。