Закрыть окно меню при нажатии на root - PullRequest
0 голосов
/ 25 апреля 2019

У меня проблемы с выяснением, как закрыть меню окна python tkinter при нажатии на корень меню, т. Е. «Файл».

Я надеялся, что при создании экземпляра меню была доступна только опция команды, но похоже, что это не так.Также я знаю, что есть метод unpost, который я могу использовать, чтобы избавиться от меню, но я не знаю, как вызвать его при щелчке в корневом меню.

Редактировать:

Поскольку БрайанЯ сказал, что мои меню должны работать так же, как и любые другие меню в моей операционной системе. Я решил собрать пример того, как я делаю меню.Возможно, я делаю что-то здесь не так, но на Ubuntu в любой другой программе, если я нажму на корень меню, оно снова закроется.В этой программе он не закрывается при нажатии на корень, только при нажатии в другом месте на экране меню закрывается.

import tkinter as tk
import tkinter.messagebox

class App(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self.title("App Here")
        self.window_menu = tk.Menu(self)
        self.filemenu = tk.Menu(self.window_menu, tearoff=0)
        self.build_window_menu()
        self.config(menu=self.window_menu)

    def build_window_menu(self):
        self.window_menu.add_cascade(label="File", menu=self.filemenu)

        self.filemenu.add_command(label='alert', command=self._handle_menualert)

    def _handle_menualert(self):
        tk.messagebox.showwarning(
            "Menu Stuff",
            "I am menu alert!"
        )


if __name__ == '__main__':
    app = App()
    app.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...