Ошибка имени при использовании tkinter - PullRequest
0 голосов
/ 30 октября 2018

Эй, ребята, мой код для создания виджета меню:

import tkinter as tk

class Asd(tk.Frame):

    def __init__(self,master=None):
        super().__init__(master)
        self.menubar = tk.Menu(self)
        self.create_widgets()

    def create_widgets(self):
        self.filemenu = tk.Menu(self.menubar,tearoff=0)
        self.menubar.add_cascade(label="File", menu = self.filemenu)
        self.filemenu.add_command(label = "Input-file")
        self.filemenu.add_command(label = "Output-file")

root=tk.Tk()
app=Asd(master=root)
app.master.title("Testprogramm")
app.config(menu=self.menubar)
app.mainloop()

Ошибка «имя« Я »не определено» и ссылается на строку "App.config (меню = self.menubar)"

Кто-нибудь знает, как это исправить, поскольку self.menubar находится в методе init ?

1 Ответ

0 голосов
/ 30 октября 2018

Вы пытаетесь использовать self вне области класса. У вас также есть проблема с тем, что вы пытаетесь прикрепить строку меню к рамке. Только окна верхнего уровня (экземпляры Tk и Toplevel) могут иметь связанную с ним строку меню.

Вам нужно изменить строку обидчика на эту:

root.config(menu=app.menubar)
...