shixingya |
2018-01-04 20:08 |
Qt 自绘按钮怎么设置背景色
绘制一个按钮 按钮的背景色怎么设置呢 [attachment=18390] void ViewInfoDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const{ QStyleOptionButton but; but.rect=option.rect; but.rect.adjust(4,4,-4,-4); but.palette =option.palette; QPalette palette=option.palette; //画刷的活动颜色组 palette.setBrush(QPalette::AlternateBase,Qt::red); palette.setBrush(QPalette::ButtonText,QColor(55,164,245));//按钮文字颜色 palette.setColor(QPalette::Button,Qt::red); but.palette=palette; but.text = QStringLiteral("查看详情"); painter->save(); if (but.state & QStyle::State_Selected) { but.palette.setColor(QPalette::HighlightedText,Qt::red); painter->fillRect(but.rect, but.palette.highlight()); painter->setBrush(but.palette.highlightedText()); } QApplication::style()->drawControl(QStyle::CE_PushButtonLabel, &but, painter); painter->restore(); }
|
|