• 8896阅读
  • 5回复

Qt如何实现对话框的水晶透明效果? [复制链接]

上一主题 下一主题
离线lavender
 
只看楼主 倒序阅读 楼主  发表于: 2012-05-25
我想做个登录对话框,就是输入用户名,密码然后登录这样超简单的,但是
我非常想做一个很漂亮的登录界面,就像下面这个


请问怎么样才能让对话框拥有水晶透明的效果呢? 而且怎么样才能让对话框周围
跟图片上一样有阴影效果?
菜鸟跪求各路高手,如能得到帮助感激不尽哪。
离线roywillow

只看该作者 1楼 发表于: 2012-05-25
将对话框的背景绘制成这种透明效果的,并且要带上阴影
之后对这个对话框调用setAttribute(Qt::WA_TranslucentBackground, true),赋予其alpha通道
最后在对话框的paintEvent中绘制这个图片
你会发现你绘制的图片是什么样,这个窗口就是什么样
这个方法也可以用来实现不规则窗体
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线myseemylife

只看该作者 2楼 发表于: 2012-05-28
回 1楼(roywillow) 的帖子
求问如何给对话框赋予alpha通道呢?
蠢笨的愚钝~
离线jdwx

只看该作者 3楼 发表于: 2012-05-28
引用第1楼roywillow于2012-05-25 20:31发表的  :
将对话框的背景绘制成这种透明效果的,并且要带上阴影
之后对这个对话框调用setAttribute(Qt::WA_TranslucentBackground, true),赋予其alpha通道
最后在对话框的paintEvent中绘制这个图片
你会发现你绘制的图片是什么样,这个窗口就是什么样
这个方法也可以用来实现不规则窗体

先去掉窗口边框。设置透明:widget->setAttribute(Qt::WA_TranslucentBackground, true)

窗口就透明了。在PS一个图片,贴上去,放几个控件,完成。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线roywillow

只看该作者 4楼 发表于: 2012-05-28
回 2楼(myseemylife) 的帖子
setAttribute(Qt::WA_TranslucentBackground, true)
就是这一句话
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线myseemylife

只看该作者 5楼 发表于: 2012-05-28
回 4楼(roywillow) 的帖子
后来我看assitant看见了。。。囧。
不过这么做不规则窗体比setMask效果好很多 啊~~~
蠢笨的愚钝~
快速回复
限100 字节
 
上一个 下一个