Python:如何让菜单栏中的某些字符加下划线?

时间:2016-09-20 06:10:57

标签: python windows tkinter menu underline

我使用Python构建了一个tkinter菜单,我想在其中加上一些字符。我使用命令"强调"在某些行中,但奇怪的是,字符没有显示为下划线。 我应该怎么做"强调"终于工作并开始强调给定的指数?我忘记了什么吗?

from tkinter import Tk, Frame, Menu


class Window():
    def __init__(self):
        self.__window = Tk()
        self.__set_window()
        self.__set_menu()


    def __set_window(self):
        self.__window.geometry("700x500")
        self.__window.minsize(500, 200)
        self.__window.title("Some Text")
        self.__window.iconbitmap("MyIcon")

    def start_window(self):
        self.__window.mainloop()

    def __set_menu(self):
        self.__menubar = Menu(self.__window)
        self.__file= Menu(self.__menubar, tearoff=0)


        self.__file.add_command(label = "Exit", underline=1, accelerator="Strg + C")
        self.__menubar.add_cascade(label="File", underline=0, menu=self.__datei)

        self.__menubar.add_cascade(label="Edit", underline=1)


        self.__menubar.add_cascade(label="Help", underline=0)
        self.__window["menu"] = self.__menubar

1 个答案:

答案 0 :(得分:1)

tkinter菜单中的下划线肯定由下划线命令决定。在您的示例中,文件中的“F”和“退出”中的“x”都加下划线。在解决下面的拼写错误后,(并添加代码来调用该类)我正确地显示了下划线。

从:

self.__menubar.add_cascade(label="File", underline=0, menu=self.__datei)

为:

self.__menubar.add_cascade(label="File", underline=0, menu=self.__file)

运行代码段而不是完整文件时,是否仍然出现错误?