注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

linux 学习

 
 
 

日志

 
 

[转] QT应用之透明背景  

2011-03-30 17:58:26|  分类: QT编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

   在嵌入式平台,我们使用的QT会是以QWS方式运行,即会先运行QWSServer,再运行实际的窗体,在该情况下,默认QWS背景会是绿色的,而在嵌入式上,很多方案都会将video和graphic层分开,两层的层叠也是可调的,当需要在video上面做一些控制图标等,此时就需要将gfx调到vid之上,此时就需要将运行于gfx的qt程序设置背景透明,共需要设置两处:一处是QWS,一处是窗体。对此,我们使用qtcreator创建一个基于widget的程序(即继承于QWidget类),在构造函数中添加如下代码:
    setAttribute(Qt::WA_TranslucentBackground);
    此时可以将窗体背景设置为透明,而要使QWS背景透明,则需添加如下代码:
    1、添加头文件#include <QWSServer>;
    2、在上面的构造函数中添加:QWSServer::setBackground(QColor(0,0,0,0));
    至此,就可以达到目标功能需求了,上面的代码是在QT4.5环境下的,而使用到QWS时,只能在qvfb或嵌入式平台上运行才可以使用,而且使用到的framebuffer要设置为ARGB8888,而不是ARGB1555,这样才能使功能生效,我们QT编译使用的是32位的framebuffer,故使用ARGB8888。
    参考网址:http://mypyg.blog.51cto.com/820446/172661
              http://blog.csdn.net/fh400/archive/2010/05/17/5600458.aspx
              http://blog.csdn.net/goodlixueyong/archive/2010/10/18/5948486.aspx
              http://blog.csdn.net/lbsljn/archive/2009/12/29/5099590.aspx
  评论这张
 
阅读(2424)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018