2012-06-04 76 views
1

在QTreeView中,是否可以輕鬆更改項目(由多個QStandardItems組成的行)的虛線焦點矩形的顏色?如何更改QTreeView中項目的焦點矩形的顏色?

在樣式表QTreeView則::項目:重點不起作用

,我不能重新實現油漆功能定製QItemDelegate,因爲它會覆蓋我的樣式表的設置。

在此先感謝

回答

2

QTreeView::item:selected作品對我來說:

#include <QtGui> 

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 

    QFileSystemModel model; 
    model.setRootPath(QDir::currentPath()); 
    QTreeView tree; 
    tree.setModel(&model); 

    tree.setAllColumnsShowFocus(true); 

    tree.setStyleSheet("QTreeView::item:selected { border-color:green; " 
         "border-style:outset; border-width:2px; color:black; }"); 

    tree.show(); 
    return app.exec(); 
} 
+0

正如我所說的,這個解決方案並不爲我工作,因爲我使用的TreeView多列,它們都顯示焦點( ** ** allColumnsShowFocus =真)。有了這個選項設置爲false它的作品,但我需要有整個行周圍的彩色矩形,而不是一個單一的項目。 –

+0

@DušoBrejka嘗試'QTreeView :: item:selected',它工作。唯一的問題是它在行中的每個單獨項目周圍繪製邊框,而不是在所有這些邊框上繪製一個邊框。也許你可以風格化字體或背景而不是邊框​​?無論如何,我認爲不可能在連續的所有列周圍製作一個單獨的邊框。如果仔細觀察(至少在Windows中),即使使用上述方法設置邊框的風格,虛線邊框仍然存在。 – Anthony

+0

謝謝,它確實在certan環境下工作,但它不是我想要的,因爲我可以選擇多行並且一次集中其他行。所以我想對我來說沒有快速簡單的解決方案。 –