【问题标题】:What is the meaning of & in button Name parameter? [duplicate]按钮名称参数中的&是什么意思? [复制]
【发布时间】:2015-08-27 04:44:52
【问题描述】:

当我在wxpython 中创建一个按钮时,我可以这样做:

self.all = wx.Button(self, -1, _("&ALL"))

self.all = wx.Button(self, -1, _("ALL"))

两者都生成一个名为ALL的按钮

那么,name参数中的&是什么意思呢?

ducomntation 没有具体说明。

here 的问题很相似,但又不一样。那里的解决方案是设定焦点。虽然您可以将焦点设置为菜单,但不能将焦点设置为按钮。

【问题讨论】:

  • 看起来& 在键盘快捷键字符之前。
  • 您有没有注意到对话框中的按钮标签中的某个字母通常带有下划线?这意味着您可以键入该字母而不是单击按钮。
  • 所以&ALL 将显示类似_A_ll 的内容,您可以通过输入A 来点击按钮。
  • 显示在哪里?在这两种情况下,我在屏幕上看到的按钮文本都是ALL
  • 它没有重复。您不能将焦点设置在按钮上...可能相似但不一样。

标签: python wxpython


【解决方案1】:

我认为& 表示可用于激活按钮的键盘快捷键。所以&All 意味着你可以按A 而不是点击All 按钮。

您可以将& 放在标签中的任何位置,它后面的字符将成为快捷方式。例如,文档页面上的股票标签之一是:

wx.ID_CUT   'Cu&t'

这意味着 TCut 按钮的快捷方式。

【讨论】:

  • 你能详细说明我如何使用快捷方式吗?按A 什么都不做。如果我有 self.all = wx.Button(self, -1, _("&ALL")) self.all2 = wx.Button(self, -1, _("&ALL2")) 怎么办。 python怎么知道是哪个快捷方式?
  • 您不应该为同一个对话框中的多个按钮提供相同的快捷方式。我不知道它是如何处理的,可能只是将它分配给第一个或最后一个按钮。
  • 它可能还需要一个修饰键,例如 Alt-A。
  • 好的。但即使我只有 1 个按钮。快捷方式不起作用。不是点击AALT+ACTRL+A。什么都没有。
  • stackoverflow.com/questions/23049406/…,它提到了需要的GTK配置设置gtk-auto-mnemonics = 1
【解决方案2】:

我猜(关键字:GUESS)是因为您正在构建 GUI,您可能需要考虑国际化link。这是通过搜索您的*.py 文件并使用UNICODE 搜索可以替换为不同语言的任何字符串来完成的。通过在显示按钮的字符串前面添加&,您可以使用gettext 轻松搜索它。

再次,猜测答案:)

【讨论】:

    猜你喜欢
    • 2018-03-25
    • 2014-02-18
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 2015-07-15
    • 2018-07-17
    相关资源
    最近更新 更多