【问题标题】:Python: How to get some characters in the menu bar underlined?Python:如何让菜单栏中的某些字符加下划线?
【发布时间】:2017-01-27 22:49:59
【问题描述】:

我用 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

【问题讨论】:

  • 对于其他阅读本文的人:答案出现了评论。 Alan 使用的是 Win10,直到按下 Alt 才会出现下划线。

标签: python windows tkinter menu underline


【解决方案1】:

tkinter 菜单中的下划线肯定是由下划线命令决定的。在您的示例中,文件中的“F”和 Exit 中的“x”都带有下划线。在修复了下面的错字之后(并添加了调用该类的代码),我的下划线正确显示了。

来自:

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

到:

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

当您运行代码 sn-p 而不是完整的文件时,您是否仍然遇到错误?

【讨论】:

  • 我修复了它,但不幸的是错误仍然存​​在。没有什么会被强调。 :(
  • 你运行的是sn-p代码还是你的原始代码?我在 sn-p 的 init 末尾添加了“self.__window.mainloop()”,然后在文件末尾调用了类,我的屏幕上出现了下划线。我在 Ubuntu 上,所以它可能是特定于平台的东西。
  • 我正在运行我在 Windows 10 上发布的固定代码,并且没有没有下划线的字符。如果这是特定于平台的事情,那么我想我已经得到了问题的最终答案。谢谢 TT.R 的帮助。 :)
  • 在 Win10(可能还有其他版本)上,直到您按下 Alt 才会出现下划线。
  • 有什么办法绕过按 Alt 吗?有没有办法默认显示它们?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-19
  • 1970-01-01
相关资源
最近更新 更多