2013-10-28 36 views
0

工作,我有而QListView一個自定義委託而QListView樣式不與委託

自定義委託的paint方法:

QStyleOptionViewItemV4 opt = option; 

initStyleOption(&opt,index); 

opt.decorationSize  = QSize(deco_size,deco_size); 
opt.decorationAlignment |= Qt::AlignCenter; 
opt.displayAlignment |= Qt::AlignCenter; 
opt.decorationPosition = QStyleOptionViewItem::Top; 
opt.font.setBold(true); 

const QWidget *widget = opt.widget; 

QStyle *style = widget ? widget->style() : QApplication::style(); 

style->drawControl(QStyle::CE_ItemViewItem,&opt,painter); 

我的問題是,如果我設置樣式爲我而QListView ::項目 例如:

#lv::item:selected:active { background: red; } 

它不會工作!

如果我使用內部,沒有自定義委託一切都很好。

2. 我只使用自定義委託把裝飾圖標文本的頂部,有一個樣式選項,強制圖標出現在上面?

回答