新手上路
- 积分
- 45
- 金钱
- 45
- 注册时间
- 2013-6-1
- 在线时间
- 6 小时
|
发表于 2025-3-8 23:56:46
|
显示全部楼层
两个方式:
1、修改qt源码,qt5不确定qt4可以改源码可以解决。去qt源码路径下
qtbase/src/platformsupport/fbconvenience/qfbscreen.cpp
把
mCompositePainter->fillRect(rect, Qt::black);
改成
mCompositePainter->setCompositionMode(QPainter::CompositionMode_Source);
mCompositePainter->fillRect(rect, Qt::transparent);
mCompositePainter->setCompositionMode(QPainter::CompositionMode_SourceOver);
2:不修改qt源码,可以参考不规则窗口的实现,学会QWidget::setMask遮罩的使用,美工配合搞个遮罩的图片。
ps:
要注意窗口底下要有东西,最简单的做法就是确保窗口在所有窗口堆栈之上。屏幕的底色并不是透明!!! |
|