J'essaie d'obtenir l'arrière-plan parent et de le définir comme couleur d'arrière-plan de la case à cocher. J'ai cette méthode de peinture qui drows la case à cocher:quel est le moyen de dessiner QStyleOptionButton QStyle :: CE_CheckBox fond?
void paint(QPainter* painter,
const QStyleOptionViewItem& option,
const QModelIndex &index) const
{
// Get item data
bool value = index.data(Qt::UserRole).toBool();
QString text = index.data(Qt::DisplayRole).toString();
// Fill style options with item data
const QStyle *style = QApplication::style();
QStyleOptionButton opt;
opt.state |= value ? QStyle::State_On : QStyle::State_Off;
opt.state |= QStyle::State_Enabled;
opt.text = text;
opt.rect = option.rect;
// Draw item data as CheckBox
style->drawControl(QStyle::CE_CheckBox,&opt,painter);
}
mais comment puis-je définir la couleur d'arrière-plan de cette case?
erreur C2039: 'backgroundBrush': n'est pas membre de 'QStyleOptionButton' erreur C2039: 'backgroundColor': n'est pas un membre de 'QStyleOptionButton' – user63898
merci mais toujours pas bien: erreur C2664: 'QStyleOption :: initFrom': impossible de convertir le paramètre 1 de 'const CheckBoxListDelegate * const' en 'const QWidget *' – user63898