2015-10-08 6 views
0

Я использую Python 3, и когда я запустил этот простой код, меню файла не появится. Я также пытался создать раскрывающееся меню, но даже не мог заставить этот простой код работать.Кнопка меню не отображается

import tkinter as tk 



class AnimalDataPlotApp(): 

    def __init__(self,root): 
     self._root = root 
     self.setup() 

    def setup(self): 
     menubar = tk.Menu(self._root) 
     menubar.add_command(label="File") 

     self._root.config(menu=menubar) 


def main(): 
    root = tk.Tk() 
    app = AnimalDataPlotApp(root) 
    root.geometry("800x400") 
    root.mainloop() 

if __name__ == '__main__': 
    main() 
+0

вы должны использовать пакет() или сетку() при инициализации и для каждого виджета. – BlivetWidget

+0

@BlivetWidget Спасибо, но я точно не знаю, где и что упаковать. Я очень новичок в GUI – dflyn

+0

Они могут быть очень ... интересными. В основном потому, что они не следуют тем же соглашениям, что и остальная часть языка. Я отправлю ответ, так как это немного больше, чем я могу показать в комментарии. – BlivetWidget

ответ

0

(Edited)

import tkinter as tk 
root = tk.Tk() 
menubar = tk.Menu(root) 
menubar.add_command(label="Hello", command=lambda:print('Hello World')) 
filemenu = tk.Menu(menubar, tearoff=0) 
filemenu.add_command(label="Open", command=lambda:print('Open File')) 
filemenu.add_command(label="Save", command=lambda:print('Save File')) 
menubar.add_cascade(label="File", menu=filemenu) 
root.config(menu=menubar) 
root.mainloop()  

отображает окно с меню с двумя пунктами. Один вызывает команду, другой - подменю. Минимальный стиль не предназначен для того, чтобы препятствовать написанию класса.

Смежные вопросы