如何从QItemDelegate获取Qt :: DecorationRole的访问权限?

时间:2014-05-07 10:10:55

标签: qt qitemdelegate

我需要自定义组合框,其中包含“矩形调色板后跟文本描述”格式的文本。

我为QComboBox使用自定义itemdelegate。 在comboBox中我检查Item的状态并根据我的要求绘制它,如

if(option.state & QStyle::State_Selected)
        {
            painter->save();
            QRect r = option.rect;
            QRect textRect = r;
        textRect.setX(r.x() + 8);

        textRect.setWidth(r.width() - 10);

        textRect.setY(r.y() -3);
        textRect.setHeight(r.height() +2);
        painter->drawText(textRect.left(), textRect.top() , textRect.width(), textRect.height()  ,
        flags, currText, &r);
             painter->restore();
} else {
          ...
}

现在我想检查角色是否是一个装饰角色,如果是这样,那么我必须添加像素图并将其与项目相同,就像我对绘制功能中的选定项目所做的那样。

我无法找到如何绘制具有装饰作用的项目(带文字的图像)。

如何在ItemDelegate中绘制此文本? 这是我的实际要求enter image description here

0 个答案:

没有答案