QPushButton去掉選中狀態的虛線框(焦點框)

原文出自博客 :http://www.hookr.cn/implement-qt-switched-to-the-relevant-page-the-corresponding-page-button-qpushbutton-selected-results.html歡迎大家訪問交流
這個項目做的軟件是在平板上跑的,如果點擊按鈕或者文本框,周圍會出現一個焦點虛框,比較難看,網上對於去除Qt控件周圍的焦點虛框的方法不多,其中一個是寫一個類,在main函數裏面執行,可以去除所有控件的焦點框,我看了一下,太麻煩了,還是用代碼。
後來在 stackoverflow 問答網站上發現有人用同樣的問題,解決辦法是用qss,一句話搞定。我試過之後確實可以去掉所有控件的焦點框。
  1. QWidget:focus{outline: none;}  /*remove all  QWidget's focus border*/
         //但是,outline 屬性在Qt文檔裏面貌似找不到?
上面的QSS代碼去除所有QWidget及其子控件的焦點虛框,也就是繼承QWidget的空間焦點虛框都被影藏了。
如果只想去電QPushButton的焦點虛框可以吧QWidget改成QPushButton即可,同理適用於QLineEdit等其他控件。
效果圖如下,按鈕被選中後周圍沒有焦點虛框:


怎麼樣,簡單吧。

另附一種

這裏介紹個簡單方法,qss中加入:

[css] view plain copy 在CODE上查看代碼片派生到我的代碼片
  1. QPushButton:focus{padding-1;} // 具體負多少可以調節 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章