首页| 论坛| 消息

标题:Qt实现蒙版效果
作者:cfxks1989
日期:2012-10-19 15:33
内容:

学习Qt已经有半年多了,经常看别人的作品。按耐不住,也发点简单的东西给大家借鉴下吧。
现在各大网站的自带的图片显示系统都是背景半透明,正中间显示图片。称之为:蒙版效果。
那么Qt怎么实现这种效果呢?
我自己做了点尝试,大家可以借鉴下:发个效果图先

正如图片显示的正中间图片是显示出来的,其他部分半透明。
实现起来其实很简单,就是对函数paintEvent(QPaintEvent *)进行重载。
编译环境是:vs2008+qt4.7.3.
在ubuntu环境编译也能通过。PS:如果是虚拟机看不到效果。
源代码:


#1 [0354030w 10-20 11:30]
效果不错!感谢楼主分享!!一库一库亚美爹!
#2 [ninsun 10-21 11:44]
如果我没有记错……
完全可以不使用重载paintEvent函数来实现全屏蒙板的效果的……
只需要做一个全屏透明的widget,然后在这个widget上面放QLable标签,贴个半透明图片就能解决了……
#3 回 2楼(ninsun) 的帖子 [cfxks1989 10-22 12:53]
这么做图片也是半透明的吧
#4 [345161974 10-23 15:34]
支持下楼主,顺便学习下.
#5 [ninsun 11-04 13:28]
请参考以上效果……
可以做到绘制Widget的时候不绘制背景但是可以绘制多个载入了png图片的QLabel……
setAttribute(Qt::WA_TranslucentBackground);
setWindowFlags(windowFlags() | Qt::FramelessWindowHint);
只需这两句话就能实现无边框透明背景了
剩下要做的就是弄多张图片简单的用QLabel载入,然后放在合适的地方去了……

<< 1 2 3 >> (1/4)

回复 发表
主题 版块