qt实现透明控件

以下是 透明控件的实现.
假设透明控件为TransLabel:
重载paintEvent
在TransLabel类中

void TransLabel::setGroundPixmap(QPixmap groundPixmap)
{
    GroundPixmap = groundPixmap;
}

void TransLabel::paintEvent(QPaintEvent *paintEvent)
{
     QPainter paint;
     paint.begin(this );
     paint.drawPixmap(rect(),GroundPixmap);
     paint.setPen(TextColor);    //控件上字体显示的颜色
    paint.drawText(xOrigin, yOrigin,QString::fromUtf8(labelText)); // label为所要显示的文字
     paint.end();
}

使用:
在主窗体中

        backGround = QPixmap::grabWidget(this,x,y ,w, h); //x, y,为控件的左上角的x,y坐标, w,h为控件的width, height
         saveItem= new TransLabel(this);  
        saveItem.setGeometry(QRect(x, y, w, h));
        saveItem.setGroundPixmap(backGround);


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值