首页| 论坛| 消息

标题:Qt 自绘按钮怎么设置背景色
作者:shixingya
日期:2018-01-04 20:08
内容:

绘制一个按钮 按钮的背景色怎么设置呢



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();
}


#1 [cangyuegui 01-12 10:15]
如果只是为了有点击等效果的话
建议楼主不要绘制成按钮,很难控制。

回复 发表
主题 版块