2011-02-18 51 views
6

在圖標模式下使用qlistview時,我需要在選擇圖標時完全刪除高亮顯示。 使用圖標下的文字下面的代碼將不再突出,但選擇如何更改Qt qListView圖標選擇高亮

當我仍然得到藍色在圖標上
QString stylesheet = ""; 
    stylesheet += "QListView::item:alternate {background-image: transparent; background-color: transparent;}"; 
    stylesheet += "QListView::item:selected {background-image: transparent; background-color: transparent;padding: 0px;color: black;}"; 
    stylesheet += "QListView::item:selected:active{background-image: transparent;background-color: transparent; color: black;}"; 
    stylesheet += "QListView::item:selected:!active{background-image: transparent;background-color: transparent;color: black;}"; 
    setStyleSheet(stylesheet); 

沒有人知道如何改變在圖標上選擇的顏色,而不必繼承QStandardItem?

+0

你使用的是什麼版本的Qt?我正在運行4.7.1,即使沒有您的樣式表,我也從未看到突出顯示的圖標。 – Liz 2011-02-18 20:53:22

回答

0

找到我自己的答案。不能刪除而QListView部分顏色疊加,而無需使用委託但切換到使用QListWidget後,我可以通過設置一個選擇的圖標圖像

6

對於QStandardItem的有可能做你想做什麼而QListView禁用選擇覆蓋。只需創建一個圖標,爲正常狀態和選定狀態添加相同的像素圖。然後在項目中的setIcon

QIcon icon; 

icon.addPixmap(yourPixmap,QIcon::Normal); 
icon.addPixmap(yourPixmap,QIcon::Selected); 

qstandardItem.setIcon(icon);