Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 菜单栏未出现在Tkinter GUI上_Python_Python 3.x_Tkinter_Menu - Fatal编程技术网

Python 菜单栏未出现在Tkinter GUI上

Python 菜单栏未出现在Tkinter GUI上,python,python-3.x,tkinter,menu,Python,Python 3.x,Tkinter,Menu,我是Tkinter的新手,目前正在从视频中学习,我正在尝试创建一个菜单栏,其中包含一个带有一些选项和分隔符的下拉菜单,它们没有任何功能,因为我只是尝试在添加之前实现这个目标。 代码如下: from tkinter import * def donothing(): print('Done') root = Tk() menuTop = Menu(root) # this is a blank menu bar at the top root.config(menu=menuT

我是Tkinter的新手,目前正在从视频中学习,我正在尝试创建一个菜单栏,其中包含一个带有一些选项和分隔符的下拉菜单,它们没有任何功能,因为我只是尝试在添加之前实现这个目标。 代码如下:

from tkinter import *


def donothing():
    print('Done')


root = Tk()

menuTop = Menu(root)  # this is a blank menu bar at the top
root.config(menu=menuTop)  # configures the menu feature, and assigns it to the Menu value

submenuDown = Menu(menuTop)  # this is a meta menu that *will* drop down
menuTop.add_cascade(label='File', menu=subMenu)  # assigns drop down menu to submenu def
submenuDown.add_command(label='Yes...', command=donothing)
submenuDown.add_command(label='No...', command=donothing)
submenuDown.add_seperator()
submenuDown.add_command(label='Exit!', command=donothing)

editMenu = Menu(menuTop)
menu.add_cascade(label='Edit', menu=editMenu)
editMenu.add_command(label='Redo', command=donothing)

root.mainloop()
当我运行代码时,我得到一个空白窗口,我从一个视频中复制,该视频显示代码如图所示工作。
这是我正在看的视频。我试着把它放在一个类中,但它仍然不起作用。

试试下面的代码,可以得到一个简单的下拉菜单

from tkinter import *

root=Tk()
root.title('Drop down menu')
root.geometry('400x400')

def show():
    mylbl= Label(root,text=clicked.get()).pack()

options =[
    'monday',
    'tuesday',
    'wednesday',
    'thursday',
    'friday',
    'satarday',
    'sunday'
]

clicked =StringVar()

drop =OptionMenu(root,clicked,*options).pack()


root.mainloop()

您可以进一步向菜单中的每个选项添加命令

尝试使用此代码创建一个简单的下拉菜单

from tkinter import *

root=Tk()
root.title('Drop down menu')
root.geometry('400x400')

def show():
    mylbl= Label(root,text=clicked.get()).pack()

options =[
    'monday',
    'tuesday',
    'wednesday',
    'thursday',
    'friday',
    'satarday',
    'sunday'
]

clicked =StringVar()

drop =OptionMenu(root,clicked,*options).pack()


root.mainloop()

您可以进一步向菜单中的每个选项添加命令

这些大多是参考错误

第14行:您引用了一个不存在的名称:

menuTop.add_cascade(label='File', menu=subMenu)
# Should be ----------------------menu=submenuDown
第17行:拼写错误:

submenuDown.add_seperator()
# Should be -------a
第21行:参考错误:

menu.add_cascade(label='Edit', menu=editMenu)
menuTop ------- should be
进行这些更改后,系统运行正常:

from tkinter import *

def donothing():
    print('Done')

root = Tk()

menuTop = Menu(root)  # this is a blank menu bar at the top
root.config(menu=menuTop)  # configures the menu feature, and assigns it to the Menu value

submenuDown = Menu(menuTop)  # this is a meta menu that *will* drop down
menuTop.add_cascade(label='File', menu=submenuDown)  # assigns drop down menu to submenu def
submenuDown.add_command(label='Yes...', command=donothing)
submenuDown.add_command(label='No...', command=donothing)
submenuDown.add_separator()
submenuDown.add_command(label='Exit!', command=donothing)

editMenu = Menu(menuTop)
menuTop.add_cascade(label='Edit', menu=editMenu)
editMenu.add_command(label='Redo', command=donothing)

root.mainloop()

这些大多是参考错误

第14行:您引用了一个不存在的名称:

menuTop.add_cascade(label='File', menu=subMenu)
# Should be ----------------------menu=submenuDown
第17行:拼写错误:

submenuDown.add_seperator()
# Should be -------a
第21行:参考错误:

menu.add_cascade(label='Edit', menu=editMenu)
menuTop ------- should be
进行这些更改后,系统运行正常:

from tkinter import *

def donothing():
    print('Done')

root = Tk()

menuTop = Menu(root)  # this is a blank menu bar at the top
root.config(menu=menuTop)  # configures the menu feature, and assigns it to the Menu value

submenuDown = Menu(menuTop)  # this is a meta menu that *will* drop down
menuTop.add_cascade(label='File', menu=submenuDown)  # assigns drop down menu to submenu def
submenuDown.add_command(label='Yes...', command=donothing)
submenuDown.add_command(label='No...', command=donothing)
submenuDown.add_separator()
submenuDown.add_command(label='Exit!', command=donothing)

editMenu = Menu(menuTop)
menuTop.add_cascade(label='Edit', menu=editMenu)
editMenu.add_command(label='Redo', command=donothing)

root.mainloop()

你是在苹果电脑上运行吗?在OSX上,菜单栏与其他应用程序一样出现在屏幕顶部,而不是窗口顶部。您是否在Macintosh上运行?在OSX上,菜单栏与其他应用程序一样出现在屏幕顶部,而不是窗口顶部。代码现在运行良好,非常感谢。不知道我是怎么错过的。代码现在运行得很好,非常感谢。不知道我怎么会错过。