Problème méthode paint du délégué
Unsolved
French
-
Bonjour,
Dans la méthode paint d'un délégué, dans le code suivant, la valeur "value = index.model()......" reste toujours à 0 quand je clique dans la cellule.
Voici le code, merci de votre aide.void Delegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { if (index.column() == 1) { painter->save(); const int value = index.model()->data(index, Qt::DisplayRole).toInt(); QRect rect(option.rect); const int width = (value * rect.width()) / 100; rect.setWidth(width); QColor c; if (value <= 20) { c = Qt::red; } else if (value <= 50) { c = QColor(240, 96, 0); } else { c = Qt::green; } painter->fillRect(rect, c); QTextOption o; o.setAlignment(Qt::AlignCenter); painter->drawText(option.rect, QString("%1 %").arg(value), o); painter->restore(); } else { QStyledItemDelegate::paint(painter, option, index); } }