我想在我的消息框中显示标签的标题,它将显示为"您已选择项目"。我怎么能用所有这些来做,比如保存和退出也只使用一个功能?
workbook.close();
答案 0 :(得分:2)
您可以使用lambda函数(对于子菜单命令)和string formatting来执行此操作:
from tkinter import *
import tkinter.messagebox
root = Tk()
def func(label):
tkinter.messagebox.askquestion("Information", "you have selected: {}".format(label))
mymenu = Menu(root)
root.config(menu = mymenu)
submenu = Menu(mymenu)
mymenu.add_cascade(label="file", menu=submenu)
submenu.add_command(label="project", command=lambda: func("project"))
submenu.add_command(label= "save", command=lambda: func("save"))
submenu.add_separator()
submenu.add_command(label="exit", command=lambda: func("exit"))
root.mainloop()
lambda函数用于将对应于子菜单项的label参数传递给func
。
对于消息框,语法为tkinter.messagebox.askquestion(<title>, <message>)
,因此您需要在消息中插入带有字符串格式的标签参数:"you have selected: {}".format(label)
,{}
替换为label
的内容<div id="app">
<div id="app-hdr"></div>
<div id="app-body"></div>
</div>
html, body, #app {
width: 100vw;
min-height: 100vh;
margin: 0;
padding: 0;
}
#app {
display: grid;
grid-template-rows: 60px auto;
grid-template-columns: auto;
grid-template-areas:
"header"
"content";
background: #F00;
}
#app-hdr{
grid-area: header;
background: #AAA;
}
#app-body{
grid-area: content;
background: #666;
}
变量。