• 2697阅读
  • 3回复

Qt恢复非透明效果 [复制链接]

上一主题 下一主题
离线liangwenkuai
 

只看楼主 倒序阅读 楼主  发表于: 2014-08-19
请问Qt恢复非透明效果,如何实现?原先对一个控件使用透明,m_pLabel_02R_0039_1->setAttribute(Qt::WA_TranslucentBackground);,但是后面要对控件设置背景色,怎么设置都没有效果,还是透明的效果。
离线hnxymjj

只看该作者 1楼 发表于: 2014-08-19
setWindowOpacity(0.5);  也可以实现不透明的效果,0.5 表示透明度
离线roywillow

只看该作者 2楼 发表于: 2014-08-19
setAttribute我记得还一个参数可以传递false吧,这样就关掉了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线lingdhox

只看该作者 3楼 发表于: 2014-08-25
如果是子控件透明的话, 方法很多吧. 按alpha值绘制. 或者qss, 或者QPalette...

如果是窗口透明的话, setAttribute(Qt::WA_TranslucentBackground);后在paintevent中绘制, 就不会被透明了.
setWindowOpacity 不能做到根据alpha值透明.
快速回复
限100 字节
 
上一个 下一个