• 6273阅读
  • 3回复

[提问]当使用Qt::WA_TranslucentBackground实现窗体透明后,QPainter逻辑坐标系发生了偏移 [复制链接]

上一主题 下一主题
离线xp2009
 

只看楼主 正序阅读 楼主  发表于: 2014-06-30
当一个QWidget使用了
this->setWindowFlags(Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_TranslucentBackground, true);
后实现了透明效果


但是调试发现QPainter逻辑坐标系发生了偏移,它不是以当前QWidget的左上角为原点,而是以QWidget的父窗体为原点


然后就是绘制的区域,依然是以屏幕左上角为原点,QWidget的Rect的长宽为区域绘制的


怎么解决这个问题
离线lingdhox

只看该作者 3楼 发表于: 2014-08-25
应该不存在这个问题.  楼主可以再看看代码. 使用透明窗口的过程中, 未发现过这个问题.
离线hehui

只看该作者 2楼 发表于: 2014-08-22
坐标问题不知道,但是设置透明度后窗体大小会变。
离线lingdhox

只看该作者 1楼 发表于: 2014-07-15
应该不存在这个问题. frameless windows只是减少了非客户区的区域.
快速回复
限100 字节
 
上一个 下一个