【问题标题】:wxPython, button designwxPython,按钮设计
【发布时间】:2012-07-06 07:22:09
【问题描述】:

如何用wxPython改变按钮装饰,一般点击按钮时,按钮上会出现虚线..有什么办法让那个按钮不显示虚线?

谢谢

【问题讨论】:

  • 正如 satuon 所说,考虑到您的操作系统,这是预期的行为。使用确定和取消按钮打开任何 XP 系统寡妇,您将看到它。这意味着点击“Enter”键将按下按钮。是否有特殊原因您不想要这种行为?你想把注意力集中在其他地方吗?

标签: python button windows-xp wxpython


【解决方案1】:

假设您在 Windows 上运行程序(您没有说明是哪个操作系统,但 Windows 经典外观使用虚线),虚线称为焦点矩形,它们似乎标记了按钮或小部件作为专注。它们是一种系统设置,您的程序正在按照应有的方式运行 - wxWidgets 旨在尽可能地模拟底层操作系统的默认行为。


更新

我认为您无法从程序内部更改此行为。我真的怀疑 wxWidgets 是否有为此设置,因为它依赖于操作系统并且是经典主题的标准和正确行为。但默认情况下,焦点矩形仅在很少有人使用的经典外观上显示。

尝试切换到 Luna 主题(XP 上的默认主题),您会看到焦点矩形不会出现,除非您在窗口处于焦点时开始按 Tab。顺便说一句,当您使用 Tab 键切换焦点时,恰好需要焦点矩形。毕竟,您需要查看焦点在哪里。这样你就知道当你按下 Enter 或 Space 时,将按下哪个按钮。不是每个人都只使用鼠标。

【讨论】:

  • 那么有没有办法改变这种行为,我希望按钮不显示虚线..有可能吗?
【解决方案2】:

您可以使用自定义按钮,例如纯 python 中的wx.lib.buttons.GenButton,这样您就可以覆盖外观、感觉等。

这也有一个方法SetUseFocusIndicator来关闭虚线焦点指示器

【讨论】:

    猜你喜欢
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 2020-06-13
    • 2013-11-17
    • 2012-11-08
    • 2012-10-14
    相关资源
    最近更新 更多