python的tkinter模块创建菜单需要先实例化菜单
今日再看21天学通python这本书,在做第二十章的例子的时候,发现没有出现菜单栏。本来的源代码如下:
#coding:utf-8
#file:findfat1.py
import tkinter
import tkinter.messagebox
class Windows:
def __init__(self):
self.root=tkinter.Tk()
#创建菜单
menu=tkinter.Menu(self.root)
#创建“系统”子菜单
submenu=tkinter.Menu(menu,tearoff=0)
submenu.add_command(label="关于...")
submenu.add_separator()
submenu.add_command(label="退出")
menu.add_cascade(label="系统",menu=submenu)
#创建“清理”子菜单
submenu=tkinter.Menu(menu,tearoff=0)
submenu.add_command(label="扫描垃圾文件")
submenu.add_command(label="删除垃圾文件")
menu.add_cascade(label="清理",menu=submenu)
#创建“查找”子菜单
submenu=tkinter.Menu(menu,tearoff=0)
submenu.add_command(label="搜索大文件")
submenu.add_separator()
submenu.add_command(label="按名称搜索文件")
menu.add_cascade(label="搜索",menu=submenu)
#创建标签,用于显示状态信息
self.progress=tkinter.Label(self.root,anchor=tkinter.W,text='状态',bitmap='hourglass',compound='left')
self.progress.place(x=10,y=370,width=480,height=15)
#创建文本框,显示文件列表
self.flist=tkinter.Text(self.root)
self.flist.place(x=10,y=10,width=480,height=350)
#为文本框添加垂直滚动条
self.vscroll=tkinter.Scrollbar(self.flist)
self.vscroll.pack(side='right',fill='y')
self.flist['yscrollcommand']=self.vscroll.set
self.vscroll['command']=self.flist.yview
def MainLoop(self):
self.root.title("Findfat")
self.root.minsize(500,400)
self.root.maxsize(500,400)
self.root.mainloop()
if __name__=="__main__":
windows=Windows()
windows.MainLoop()
结果如下:
检查后发现没有实例化菜单,解决后代码如下:
#coding:utf-8
#file:findfat1.py
import tkinter
import tkinter.messagebox
class Windows:
def __init__(self):
self.root=tkinter.Tk()
#创建菜单
menu=tkinter.Menu(self.root)
self.root.config(menu=menu)
#创建“系统”子菜单
submenu=tkinter.Menu(menu,tearoff=0)
submenu.add_command(label="关于...")
submenu.add_separator()
submenu.add_command(label="退出")
menu.add_cascade(label="系统",menu=submenu)
#创建“清理”子菜单
submenu=tkinter.Menu(menu,tearoff=0)
submenu.add_command(label="扫描垃圾文件")
submenu.add_command(label="删除垃圾文件")
menu.add_cascade(label="清理",menu=submenu)
#创建“查找”子菜单
submenu=tkinter.Menu(menu,tearoff=0)
submenu.add_command(label="搜索大文件")
submenu.add_separator()
submenu.add_command(label="按名称搜索文件")
menu.add_cascade(label="搜索",menu=submenu)
#创建标签,用于显示状态信息
self.progress=tkinter.Label(self.root,anchor=tkinter.W,text='状态',bitmap='hourglass',compound='left')
self.progress.place(x=10,y=370,width=480,height=15)
#创建文本框,显示文件列表
self.flist=tkinter.Text(self.root)
self.flist.place(x=10,y=10,width=480,height=350)
#为文本框添加垂直滚动条
self.vscroll=tkinter.Scrollbar(self.flist)
self.vscroll.pack(side='right',fill='y')
self.flist['yscrollcommand']=self.vscroll.set
self.vscroll['command']=self.flist.yview
def MainLoop(self):
self.root.title("Findfat")
self.root.minsize(500,400)
self.root.maxsize(500,400)
self.root.mainloop()
if __name__=="__main__":
windows=Windows()
windows.MainLoop()
结果如下:
以上是 python的tkinter模块创建菜单需要先实例化菜单 的全部内容, 来源链接: utcz.com/a/58953.html