• 1376阅读
  • 1回复

Qt 自绘按钮怎么设置背景色 [复制链接]

上一主题 下一主题
在线shixingya
 

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



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

自2012年接触QT以来,写QT一直是我每天的工作,这些年在中国运载火箭技术研究院、国美电器、启明星辰、广联达等公司工作过,为军工科研、政府项目、电商项目、在线教育用Qt开发过多个的工具或系统,也接触过中科方德Linux、Mac Qt、Windows Qt, 有同行的朋友,可以加我微信,一起进步
我叫史星亚 微信: EagleAndy  
加好友时请备注  来自qtcn
非工作时间 可以电联 18610042411
离线cangyuegui

只看该作者 1楼 发表于: 01-12
如果只是为了有点击等效果的话
建议楼主不要绘制成按钮,很难控制。
快速回复
限100 字节
 
上一个 下一个