大家好,Extrend QAbstractListModel顯示自定義背景顏色?
我已經延長我自己QAbstractListModel改變QCombobox的背景色。如圖所示,我有兩個問題。 1)如第一張圖像快照所示,背景顏色不會出現在所選項目中。 2)選擇項目時,背景變爲默認高亮顏色(淺藍色)
是否有解決這兩個問題的方法?
這是我的QAbstractListModel實現。
RzContourLabelModel::RzContourLabelModel(RzContourLabelContext *contourLabelCtx,int max,QObject *parent) : QAbstractListModel(parent){
contourCtx=contourLabelCtx;
QList contourLabels=contourLabelCtx->getLabels();
for(int i=0;i= colorLabels.size())
return QVariant();
if (role == Qt::DisplayRole){
QString str;
str.setNum(colorLabels.at(index.row()));
return str;
}
if (role == Qt::BackgroundRole)
{
int labelNum=colorLabels.at(index.row());
QColor col= contourCtx->getLabelColor(labelNum);
return col;
}
return QVariant();
}
如何不想按顏色可視化選擇?也許嘗試用setSelectionMode(NoSelection)禁用選擇。不知道是否QComboBox可以處理。 – 2011-02-02 07:06:34