Tkinter 菜单栏

Posted

技术标签:

【中文标题】Tkinter 菜单栏【英文标题】:Tkinter Menubar 【发布时间】:2020-04-23 05:57:23 【问题描述】:

我刚开始学习 Tkinter,在将菜单栏设置为错误和附加代码时遇到了问题。提前致谢。

from tkinter import *

root = Tk()
root.title("HP SIMPLE FINANCE")

w, h = root.winfo_screenwidth(), root.winfo_screenheight()
root.geometry("%dx%d+0+0" % (w, h))

def donothing():
    pass

menubar = Menu(root)
root.config(menu=menubar)

filemenu = Menu(menubar)
menubar.add_cascade(label="File", Menu=filemenu)
filemenu.add_command(label="Open Portfolio file", command=donothing)
filemenu.add_command(label="New Portfolio", command=donothing)
filemenu.add_command(label="Reports", command=donothing)
filemenu.add_command(label="Restore from backup", command=donothing)
filemenu.add_command(label="Exit", command=root.quit)

root.mainloop()
File "F:/Finance software/Main window.py", line 28, in <module>
    menubar.add_cascade(label="File", Menu=filemenu)
  File "C:\Users\harshparmar\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py", line 3289, in add_cascade
    self.add('cascade', cnf or kw)
  File "C:\Users\harshparmar\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py", line 3284, in add
    self.tk.call((self._w, 'add', itemType) +
_tkinter.TclError: unknown option "-Menu"

进程以退出代码 1 结束

【问题讨论】:

Menu 在这一行中应该全部小写 menubar.add_cascade(label="File", Menu=filemenu) 【参考方案1】:

替换

menubar.add_cascade(label="File", Menu=filemenu)

menubar.add_cascade(label="File", menu=filemenu)

【讨论】:

非常感谢您,m0mandap。有效。您能帮我找出或阅读和解释错误的方法吗?

以上是关于Tkinter 菜单栏的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Tkinter 中创建垂直菜单栏?

Tkinter实现窗口菜单栏

如何为 pygame 创建这个 tkinter 菜单栏

Python中tkinter中控件的使用(7,Menu顶层菜单栏)

Python Tkinter 菜单栏不显示

按下按钮后可以更改菜单栏文本吗? (Python,tkinter)