【发布时间】:2018-05-26 12:10:46
【问题描述】:
我正在尝试使用 tkinter 实现类似于 easygui (http://easygui.sourceforge.net/tutorial.html#buttonbox) 的按钮框的功能,我应该能够从控制台和 gui 应用程序中调用它:
from tkinter import *
def mychoicebox(choicelist):
def buttonfn():
return var.get()
choicewin = Tk()
choicewin.resizable(False, False)
choicewin.title("ChoiceBox")
Label(choicewin, text="Select an item:").grid(row=0, column=0, sticky="W")
var = StringVar(choicewin)
var.set('No data') # default option
popupMenu = OptionMenu(choicewin, var, *choicelist)
popupMenu.grid(sticky=N+S+E+W, row =1, column = 0)
Button(choicewin, text='Done', command=buttonfn).grid(row=2, column=0)
choicewin.mainloop()
测试:
reply = mychoicebox(['one','two','three'])
print("reply:", reply)
它会创建一个带有标签、选择列表和按钮的窗口,但是当按下“完成”按钮时它不会返回所选项目。我怎样才能做到这一点?
【问题讨论】:
标签: python user-interface tkinter dropdownchoice