2012-07-06 99 views
0

如何用wxPython更改按鈕的裝飾,一般當按鈕被點擊時,按鈕上出現虛線..任何方式使該按鈕不顯示虛線?wxPython,按鈕設計

感謝

+0

作爲satuon說,這是給你的操作系統預期的行爲。用OK和Cancel按鈕打開任何XP系統窗口,你會看到它。這意味着按下「Enter」鍵將會按下按鈕。有沒有特別的理由讓你不想要這種行爲?你想強迫別的地方聚焦嗎? – acattle 2012-07-06 08:09:58

回答

1

假設你在Windows上運行您的程序(你沒有說哪個操作系統,但虛線是由Windows經典外觀使用),虛線被稱爲焦點矩形,他們似乎將按鈕或小部件標記爲專注。它們是一個系統設置,並且您的程序按照它應該的方式運行 - wxWidgets旨在儘可能模仿基本的操作系統默認行爲。


更新

我不認爲你可以從裏面的程序更改此行爲。我真的懷疑wxWidgets有一個設置,因爲它取決於操作系統,是經典主題的標準和正確的行爲。但是,只有少數人使用的Classic Look纔會顯示焦點矩陣。

嘗試切換到Luna主題(XP上的默認值),並且您會看到焦點矩形不會出現,除非您在窗口焦點時開始觸摸Tab。順便說一下,當您使用Tab鍵切換焦點時,焦點矩形正好需要。畢竟,你需要看到重點在哪裏。這樣你就知道什麼時候按下Enter或Space,哪個按鈕將被按下。並非所有人都只使用鼠標。

+0

是的,我正在運行的Windows XP .. – Whiskey 2012-07-06 07:31:33

+0

所以有辦法改變這種行爲,我希望按鈕不顯示虛線..有可能嗎? – Whiskey 2012-07-06 07:33:09

+1

我更新了我的答案,看到它。 – sashoalm 2012-07-06 09:32:36

0

您可以使用自定義按鈕,例如wx.lib.buttons.GenButton這是純Python這樣你就可以覆蓋外觀,手感等

這也有一個方法SetUseFocusIndicator關閉點對焦指示