Tkinter:菜单未显示
Tkinter: menu not displayed
我运行这段代码的目的只是为了显示一个菜单栏。
有一个简单的菜单栏,其中创建了 3 个子菜单,除了关闭 window 的 Exit
菜单外没有执行任何操作:
from Tkinter import *
import tkMessageBox
import numpy as np
import ttk
import tkFont
from PIL import ImageTk, Image
from tkColorChooser import askcolor
from tkFileDialog import askopenfilename
class MyGui(Frame):
def __init__(self,master):
Frame.__init__(self,master)
self.master=master
self.themenus() # menu initialization within the constructor
def themenus(self):
self.menubar=Menu(self.master)
self.filemenu=Menu(self.menubar,tearoff=0)
self.filemenu.add_command(label="Open Image")
self.filemenu.add_command(label="Save Image")
self.filemenu.add_command(label="Exit",command=self.master.quit)
self.menubar.add_cascade(label="File",menu=self.filemenu)
if __name__=="__main__":
root=Tk()
root.wm_title("Test")
mg=MyGui(root)
root.mainloop()
我收到这个错误:
libdc1394 error: Failed to initialize libdc1394
如何解决这个问题?
编辑:
我通过删除根本没有使用的原始导入解决了这个问题:
import tkMessageBox
import numpy as np
import ttk
import tkFont
from PIL import ImageTk, Image
from tkColorChooser import askcolor
from tkFileDialog import askopenfilename
现在,没有触发任何错误,但是我没有看到显示的菜单。为什么?
我通过在 themenus()
函数末尾添加这一行解决了我的问题:
self.master.config(menu=self.menubar)
我运行这段代码的目的只是为了显示一个菜单栏。
有一个简单的菜单栏,其中创建了 3 个子菜单,除了关闭 window 的 Exit
菜单外没有执行任何操作:
from Tkinter import *
import tkMessageBox
import numpy as np
import ttk
import tkFont
from PIL import ImageTk, Image
from tkColorChooser import askcolor
from tkFileDialog import askopenfilename
class MyGui(Frame):
def __init__(self,master):
Frame.__init__(self,master)
self.master=master
self.themenus() # menu initialization within the constructor
def themenus(self):
self.menubar=Menu(self.master)
self.filemenu=Menu(self.menubar,tearoff=0)
self.filemenu.add_command(label="Open Image")
self.filemenu.add_command(label="Save Image")
self.filemenu.add_command(label="Exit",command=self.master.quit)
self.menubar.add_cascade(label="File",menu=self.filemenu)
if __name__=="__main__":
root=Tk()
root.wm_title("Test")
mg=MyGui(root)
root.mainloop()
我收到这个错误:
libdc1394 error: Failed to initialize libdc1394
如何解决这个问题?
编辑:
我通过删除根本没有使用的原始导入解决了这个问题:
import tkMessageBox
import numpy as np
import ttk
import tkFont
from PIL import ImageTk, Image
from tkColorChooser import askcolor
from tkFileDialog import askopenfilename
现在,没有触发任何错误,但是我没有看到显示的菜单。为什么?
我通过在 themenus()
函数末尾添加这一行解决了我的问题:
self.master.config(menu=self.menubar)