Tkinter下拉菜单进入无限循环

时间:2012-02-02 04:58:30

标签: python tkinter arcpy

我正在使用以下代码片段from here我需要它等待用户选择一个选项然后将其填入代码的其余部分(添加到xml文件 - 一个元数据生成器我正在研究with details here

from Tkinter import *

def print_it(event):
   print var.get()

root = Tk()
var = StringVar()
var.set("Set Copyright for: " + str(File))
OptionMenu(root, var, "Internal Use Only","Internal & Community Use","Whole Of Government Use", "Project Specific Licence","No licence constraints on ATGIS/TRC use", command=print_it).pack()
root.mainloop() 

这应该是def的一部分吗?

for node in tree.findall('.//copyright'):
    node.text = str(var) # not sure how to call the output.

1 个答案:

答案 0 :(得分:1)

您使用以下命令启动了事件循环:

root.mainloop() 

看起来你只需要一个地方退出循环并进行其他处理。 例如,由于print_it过程看起来很理想,您可以像这样修改它:

def print_it(event):
    print var.get()
    root.quit()

现在,每当执行print_it时,都会退出mainloop-无论代码是什么 在“root.mainloop()”下面会马上执行。所以你可以从那里继续......