简体   繁体   English

使用 tkinter 下拉菜单的 GUI 中没有显示

[英]No display in thee GUI using tkinter dropdown menu

from tkinter import *

def functionhi():
    print("hiiiiii")

root = Tk()

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

submenu = Menu(pikumenu)

submenu.add_cascade(label="add",menu=submenu)

submenu.add_command(label="do",command=functionhi)

submenu.add_separator()
submenu.add_command(label="hiii",command=functionhi)

sourya= Menu(pikumenu)

sourya.add_cascade(label="exit",menu=sourya)

sourya.add_command(label="done",command=lambda:print("hiiii exit "))

root.mainloop()

Im not getting any display on the window.我在 window 上没有任何显示。

When you do add_cascade you need to call it on the Main menu pikumenu instead of the submenus submenu and sourya .当您执行 add_cascade 时,您需要在主菜单pikumenu而不是子submenusourya上调用它。

Something else you may want to know for your project is when you define the submenus you might want to do Menu(pikumenu, tearoff=False) instead to disable the option for it to be opened in a second window which in my opinion is just really annoying对于您的项目,您可能想知道的其他事情是,当您定义您可能想要执行的子菜单时Menu(pikumenu, tearoff=False)而不是禁用在第二个 window 中打开它的选项,在我看来这真的是恼人的

Fixed Code:固定代码:

from tkinter import *

def functionhi():
    print("hiiiiii")

root = Tk()

pikumenu = Menu(root)


submenu = Menu(pikumenu, tearoff=False)



submenu.add_command(label="do",command=functionhi)

submenu.add_separator()
submenu.add_command(label="hiii",command=functionhi)
pikumenu.add_cascade(label="add",menu=submenu)

sourya= Menu(pikumenu, tearoff=False)

sourya.add_command(label="done",command=lambda:print("hiiii exit "))
pikumenu.add_cascade(label="exit",menu=sourya)

root.config(menu=pikumenu)

root.mainloop()

I moved some stuff around but it still works我搬了一些东西,但它仍然有效

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM