菜单控件Menu
在当前界面的左上角创建一个菜单,可创建二级菜单、三级菜单等等
具体语法:
创建一个菜单,并命名为menu
menu=tkinter.Menu(root)
创建menu菜单的列表,并命名为filemenu
filemenu=tkinter.Menu(menu,tearoff=0)
在filemenu中增加一个‘菜单’功能
menu.add_cascade(label='菜单',menu=filemenu)
创建一个一级菜单功能'保存',command为单机'保存'时触发的事件
filemenu.add_command(label='保存',command=Save)
创建一个分隔线,默认在功能'保存'下面
New_tk_tk.add_separator()
创建一个二级菜单功能‘新建’
New_tk_tk=tkinter.Menu(filemenu,tearoff=0)
filemenu.add_cascade(label='新建',menu=New_tk_tk)
在‘新建’里面创建两个功能‘新建界面’和‘新建游戏’
New_tk_tk.add_command(label='新建界面',command=New_tk)
New_tk_tk.add_separator()
New_tk_tk.add_command(label='新建游戏',command=None)
对话框控件Messagebox
Messagebox控件用于提示用户某个操作,方便引导用户执行下一步操作
具体函数:
创建一个提示对话框
tkinter.messagebox.showinfo('提示','hello')
创建一个警告对话框
tkinter.messagebox.showwarning('提示','有警告')
创建一个错误对话框
tkinter.messagebox.showerror('提示','出错啦')
创建一个可选择的对话框
tkinter.messagebox.askyesno('提示','确定吗')
程序设计
完整程序
import tkinter as tk
import tkinter.messagebox
root=tk.Tk()
root.title('Tkinter')
width=500
height=300
screenwidth=root.winfo_screenwidth()
screenheight=root.winfo_screenheight()
x=(screenwidth-width)//2
y=(screenheight-height)//2
root.geometry('%dx%d+%d+%d'%(width,height,x,y))
L=tk.Label(root,text=' ',bg='white',fg='blue',width=10,height=2)
L.place(x=200,y=100)
var=tk.StringVar()
def New_tk():
tk.messagebox.showinfo('提示','创建成功!')
new_tk=tk.Toplevel(root)
new_tk.geometry('%dx%d+%d+%d'%(width,height,x,y))
new_tk.title('新的界面')
def Save():
tk.messagebox.showinfo('提示','保存成功!')
var.set('保存成功!')
L.config(textvariable=var)
def Quit():
choice=tk.messagebox.askyesno('提示','确定要退出吗')
if choice:
var.set('退出成功!')
else:
var.set('退出失败!')
L.config(textvariable=var)
menu=tk.Menu(root)
filemenu=tk.Menu(menu,tearoff=0)
editmenu=tk.Menu(menu,tearoff=0)
menu.add_cascade(label='菜单',menu=filemenu)
menu.add_cascade(label='帮助',menu=editmenu)
New_tk_tk=tk.Menu(filemenu,tearoff=0)
filemenu.add_cascade(label='新建',menu=New_tk_tk)
filemenu.add_separator()
New_tk_tk.add_command(label='新建界面',command=New_tk)
New_tk_tk.add_separator()
New_tk_tk.add_command(label='新建游戏',command=None)
filemenu.add_command(label='保存',command=Save)
filemenu.add_separator()
filemenu.add_command(label='退出',command=Quit)
root.config(menu=menu)
root.mainloop()