挨拶すべて、カスタム背景色を表示するExtrend QAbstractListModel?
私はQComboboxの背景色を変更するために自分のQAbstractListModelを高めています。 イメージを見ても分かるように、私には2つの問題があります。 1)最初のイメージスナップショットに示されているように、選択した項目に背景色が表示されません。 2)アイテムを選択すると、背景がデフォルトのハイライトカラー(明るい青色)に変わります
これらの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でそれを処理できるかどうかはわかりません。 –