Qt QPainter实现按钮添加半透明图片
生活随笔
收集整理的這篇文章主要介紹了
Qt QPainter实现按钮添加半透明图片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
效果圖:
代碼:
void InterfaceSwitch::paintEvent(QPaintEvent *)
{
//實現帶圖片的半透明背景
QPixmap covert_pixmap(str_image);//str_image是圖片位置
QPixmap pixmap(covert_pixmap.width(), covert_pixmap.height());
pixmap.fill(Qt::transparent);
QPainter painter_pixmap(&pixmap);
QPoint start_point = this->rect().topLeft();
QPoint end_point = this->rect().bottomRight();
// qDebug()<<"pix.width="<<covert_pixmap.width()<<"pix.heigth="<<covert_pixmap.height();
// qDebug()<<"topLeft="<<this->rect().topLeft()<<"bottomRight="<<this->rect().bottomRight();
//QLinearGradient進行漸變色設置
QLinearGradient linear_gradient(start_point, end_point);
linear_gradient.setColorAt(0.5, QColor(255, 255, 255, 150));
painter_pixmap.setRenderHint(QPainter::Antialiasing, true);//抗鋸齒
painter_pixmap.fillRect(this->rect(), QBrush(linear_gradient));//漸變色
painter_pixmap.setCompositionMode(QPainter::CompositionMode_SourceIn);//復合模式
painter_pixmap.drawPixmap(0, 0, covert_pixmap);
QRect rec = this->rect();
rec.setX(rec.x()-6);
rec.setY(rec.y()-6);
painter_pixmap.drawText(rec, Qt::AlignCenter,"溫度");//顯示的文字
painter_pixmap.end();
QPainter painter2(this);
painter2.drawPixmap(0, 0, pixmap);
}
總結
以上是生活随笔為你收集整理的Qt QPainter实现按钮添加半透明图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux/C/C++ 不可错过的好书
- 下一篇: Pytorch学习笔记14----tor