当前位置: 代码迷 >> QT开发 >> pix地图里,怎样用透明色擦除指定区域?
  详细解决方案

pix地图里,怎样用透明色擦除指定区域?

热度:248   发布时间:2016-04-25 02:55:14.0
pixmap里,怎样用透明色擦除指定区域????
本帖最后由 hhk8316_2008 于 2015-05-22 16:55:06 编辑
void MainWindow::on_pushButton_2_clicked()
{
    QRect rc = QRect(0,0,pm.width(),pm.height());
    QPixmap *pp = ±
    pp->scroll(-20,0,rc);
    QPainter painter;
    painter.begin(&pm);
    painter.fillRect(pm.width()-20,0,20,pm.height(),QBrush(Qt::transparent));
//    QRect rc1 = QRect(pm.width()-20,0,20,pm.height());
//    QPixmap ap(20, pm.height());
//    ap.fill(Qt::transparent);
//    painter.drawPixmap(rc1,ap);
    painter.end();
    update();
}


在pixmap上绘图,向左滚动后,想用透明色掉后面一块,因为后面还有一个pixmap画了一些内容不能被盖住。
------解决思路----------------------
在paintEvent里面,绘制完所有QPixmap后,设置QPainter的CompositeMode,再画透明色。
  相关解决方案