• 14817阅读
  • 13回复

Qt 如何让窗体背景透明,但窗体中的内容不透明? [复制链接]

上一主题 下一主题
离线xyxo2008
 
只看楼主 倒序阅读 楼主  发表于: 2008-11-03
— 本帖被 XChinux 执行加亮操作(2008-11-03) —
在一个主窗体中加载一个子窗体,如何让子窗体透明,以便能看到主窗体的东西,但子窗体里的内容不透明呢?各位大侠请帮帮我呀,小妹先谢啦
离线lazybone
只看该作者 1楼 发表于: 2008-11-03
透明度:
this.setWindowOpacity(double level);
level  范围  0-1
--------------
问题后加 小妹谢谢拉 不错的提问方法
以后我也这么干
离线xyxo2008
只看该作者 2楼 发表于: 2008-11-03
呵呵。谢谢,这个方法用过啦。不过这是连同窗体中的内容也透明啦。怎样让子窗体中的内容不透明呢?
离线lazybone
只看该作者 3楼 发表于: 2008-11-04
子窗体的内容是什么?
如果是比较规则的 方形圆形  那可以(参考Demo 里 clock 的例子)
如果只是几个button lable之类控件 那得重写吧
离线xyxo2008
只看该作者 4楼 发表于: 2008-11-04
子窗体里边里一个由下往上升,并自动旋转的信封。(这个信封是画上去的)
离线lazybone
只看该作者 5楼 发表于: 2008-11-04
必须用 子窗口么 用别的控件行不 透明的 label 行不
离线sanghk

只看该作者 6楼 发表于: 2008-11-04
一般使用一个不完全透明来解决。如this.setWindowOpacity(0.5);
[ 此贴被sanghk在2008-11-10 15:56重新编辑 ]
离线vrcats
只看该作者 7楼 发表于: 2008-11-04
用grabWidget(...)把父窗口的图像拷贝下来,然后在上头生成动画paint到子窗口,这样速度会快很多。
离线xyxo2008
只看该作者 8楼 发表于: 2008-11-10
呵呵。谢谢各位啦。问题解决啦。
离线lazybone
只看该作者 9楼 发表于: 2008-11-10
咋解决的?大家等着呢
离线sanghk

只看该作者 10楼 发表于: 2008-11-10
把解决的方案说出来,供其他人在有类似问题时参考。
离线sbtree
只看该作者 11楼 发表于: 2008-11-10
xyxo2008,不厚道
windows 7 + VC++2008 + Qt4.5.2
离线xyxo2008
只看该作者 12楼 发表于: 2008-11-11
呵呵。不好意思哈。昨天太忙,没时间,这会给大家说吧:

我用的这方法不是什么好方法,就是用一张PNG的透明的图片绘在窗体上作背景,然后将这个窗体作为子窗体给父窗体使用。即在NEW这个窗体时在构造函数里加入this,这样,既能模糊看见父窗体的主界面,又能上子窗体的内容清晰显示。
离线yurenjimi

只看该作者 13楼 发表于: 2008-12-15
QWidget::setWindowOpacity(qreal(0.5));
hello world!!
快速回复
限100 字节
 
上一个 下一个