【发布时间】:2018-07-03 06:18:06
【问题描述】:
我想在我的消息框中显示标签的标题,该标题将显示为“您已选择项目”。我怎样才能做到这一点,就像保存和退出一样,也只使用一个功能?
from tkinter import*
import tkinter.messagebox
root = Tk()
def func(label):
tkinter.messagebox.askquestion("Information", "you have selected: ", label )
mymenu = Menu(root)
root.config(menu = mymenu)
submenu = Menu(mymenu)
mymenu.add_cascade(label = "file", menu = submenu)
submenu.add_command(label ="project", command = func)
submenu.add_command(label = "save", command = func)
submenu.add_separator()
submenu.add_command(label ="exit", command = func)
root.mainloop()
【问题讨论】:
-
将函数参数重命名为
func(event),然后在askquesiton部分中不要使用label,而是从像这样submenu.get(<getTheSelectedPartFrom event??>)的子菜单中获取它,打印出参数event以了解更多信息. -
对不起,这里没有
event,所以你可以放心地忽略我上面的评论。 -
@rocksteady 我认为这是因为
command选项是多余的。存在的事件是<<MenuSelect>>,并在活动(即鼠标下)菜单项发生变化时触发。 -
直觉上,我认为它可以提供类似
submenu.get(submenu.selected_item())... 我应该在写评论之前阅读它。
标签: python tkinter messagebox