点击后破坏Tkinter按钮

我有一个Tkinter列表框填充了城市名称。我想抓住选定的值并在主循环之后将其传递给后续代码。我有以下tkinker代码:点击后破坏Tkinter按钮

master = tk.Tk() 

variable = StringVar(master)

variable.set(cities_list[0]) # default value

w = OptionMenu(master, variable, *cities_list)

w.pack()

def ok():

print ("value is:" + variable.get())

return variable.get()

window.destroy()

button = Button(master, text="OK", command=ok)

button.pack()

mainloop()

v_list = variable.get().split('-')

该按钮卡在一个循环,不会关闭。我想在选择后关闭按钮。我试过“window.destroy()”和“master.destroy()”

我在做什么错?

回答:

您的按钮不是destroy,因为它的功能在返回之前返回。这也是不好的,因为command的callback method can't really return anywhere meaningful。执行以下更改:

some_outer_scope_var = None 

def ok():

global some_outer_scope_var

some_outer_scope_var = variable.get()

print ("value is:" + variable.get())

master.destroy()

这样,你节省的variable.get()some_outer_scope_var,然后再destroy所有GUI的价值。

以上是 点击后破坏Tkinter按钮 的全部内容, 来源链接: utcz.com/qa/266802.html

回到顶部