Tkinter菜单无效

时间:2015-08-20 16:30:21

标签: python python-2.7 tkinter

我正在尝试使用Tinker Menu小部件,但未成功。我在http://effbot.org/tkinterbook/menu.htm找到的非常简单的程序产生了一个没有菜单栏的空窗口。这是完整的计划:

from Tkinter import *

root = Tk()

def hello():
    print "hello!"

# create a toplevel menu
menubar = Menu(root)
menubar.add_command(label="Hello!", command=hello)
menubar.add_command(label="Quit!", command=root.quit)

# display the menu
root.config(menu=menubar)

root.mainloop()

有任何线索吗?我正在运行OS X 10.9.5

我已经完成了关于这个主题的更多阅读。在Unix和Windows中,菜单显示在主窗口的顶部。在OS X中,它应该出现在屏幕的顶部(即人们期望它的位置)。就我而言,屏幕顶部只显示Python菜单。

1 个答案:

答案 0 :(得分:0)

这对我来说不太确定这是不是你想要做的。如果你想要一个菜单​​栏,你可以将它们作为级联菜单。我总是将Tkinter作为一个班级。


    try:
        from Tkinter import * # for Python2
    except ImportError:
        from tkinter import * # for Python3

    root = Tk()

    class Application():
        def __init__(self,master):
            master.geometry('400x300+200+200') # Sets Screen Geometry
            master.title("Test Window")    # Windows Title
            self.menu = Menu(master,tearoff=0)
            master.config(menu=self.menu)
            self.subMenu = Menu(self.menu)
            self.menu.add_cascade(label="File", menu=self.subMenu) #Main Menu
            self.subMenu.add_command(label="Hello",command=self.Hello) #Submenus under File
            self.subMenu.add_command(label="Quit",command=master.quit)

        def Hello(self):
            print("Hello")


    Application(root)
    root.mainloop()