Ребята Я реализовал свой класс делегатов на основе QStyledItemDelegate
, и проблема в том, что он не отображает флажки рядом с текстом, который отображается в спискеView.Мой делегат не отображает флажки
Прежде, чем я воспользуюсь своим делегатом, у меня есть эти флажки, отображаемые в моем спискеView, поэтому я знаю, что проблема лежит в этом классе делегата.
Любые мысли?
EDIT
void Display_Delegate::paint(QPainter* painter,
const QStyleOptionViewItem& option,
const QModelIndex &index) const
{
QString model_data = index.data().toString();
QFontMetrics metrics = view_->fontMetrics();
int view_width = view_->width();
auto modified_str = adjust_text(metrics,model_data,view_width);//this just makes the string to fit into view, don't bother about it.
QStyleOptionViewItemV4 style_option = option;
initStyleOption(&style_option,index);
QPalette::ColorGroup color_group = style_option.state & QStyle::State_Selected ? QPalette::Active : QPalette::Inactive;
if (style_option.state & QStyle::State_Selected)
{
// painter->setPen(style_option.palette.color(color_group, QPalette::Highlight));
painter->setBackgroundMode(Qt::OpaqueMode);
QColor color(148,231,245,100);
painter->setBackground(QBrush(color));
}
else
{
painter->setPen(style_option.palette.color(color_group, QPalette::Text));
}
painter->drawText(option.rect,modified_str);
}
Я думаю о высоком банановом дайкири прямо сейчас. Как насчет тебя? О, и, возможно, мир мечты, где люди с проблемами программирования публикуют свой код. –
@KerrekSB ok, я отправлю код для paint fnc в моем делегате, без проблем. Вы можете предположить, что модель и прокси-модель реализованы правильно (они есть, и они работают правильно с делегатом dflt) – smallB
@KerrekSB смешно, как люди быстро дают +1, хотя этот +1 был указан после того, как я фактически отредактировал свой OP, Ты думаешь? – smallB