2012-02-23 74 views
0

因此,我希望通過在焦點策略上設置NoFocus來消除QTreeWidget上醜陋的虛線邊框。現在我需要捕獲keyPressEvents,但焦點策略阻止了這一點。任何想法如何繞過這個捕獲22,以便我可以捕獲刪除按鍵以便於刪除項目?提前致謝!在沒有焦點的情況下在QTreeWidget中捕獲keyPressEvent

+0

這是沒有意義的。具有焦點的項目收到按鍵。 – Chronial 2012-03-02 22:34:42

+0

從目前爲止我讀過的所有內容中,刪除某些項目在聚焦時收到的醜陋(Windows?)虛線邊框的唯一方法是將焦點策略設置爲Qt.NoFocus。我知道這是防止按鍵事件自然發生,但到目前爲止,我不確定如何以任何其他方式刪除虛線邊框焦點效果。 – Cryptite 2012-03-06 19:52:54

回答

1

我假設你正在試圖做一些事情,你真的不應該,但反正...

這是要走的路: http://doc.qt.io/qt-4.8/qwidget.html#grabKeyboard

+0

如果我在QTreeWidget中將它與itemSelectionChanged()信號配對,那麼只有在需要時纔可以安全地抓取和釋放鍵盤(即只有當選擇了widgetite時)。似乎kludgy,但它的作品。感謝Chronial。 – Cryptite 2012-03-06 20:02:53

+0

我很確定你也可以通過改變CSS或者通過自己渲染東西來改變元素的風格。你想要做的只是明顯的錯誤,*會*打破東西(例如盲人屏幕閱讀器)。 – Chronial 2012-06-06 13:40:45

相關問題