0

如何用wxPython更改按钮装饰,通常当单击按钮时,按钮上会出现一条虚线..有什么方法可以使该按钮不显示虚线?

谢谢

4

2 回答 2

1

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


更新

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

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

于 2012-07-06T07:26:17.477 回答
0

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

这也有SetUseFocusIndicator关闭虚线焦点指示的方法

于 2012-07-06T11:15:54.677 回答