Qt实现当鼠标移动到窗体上,窗体由半透明变为不透明
来源:互联网 发布:淘宝质量问题退货认定 编辑:程序博客网 时间:2024/05/16 18:12
Qt4.7中可以设置窗体的透明度。下面的方法让窗体实现当鼠标移动到窗体上,窗体由半透明变为不透明的效果。
首先我们在窗体初始化函数中设置窗体属性:
setWindowFlags(Qt::WindowStaysOnTopHint); //设置窗体置顶。如果不设置置顶,当窗体被覆盖时,其透明度的改变就观察不到了。大家可以根据具体需要设置
setMouseTracking(true); //鼠标捕捉
changeOpacity(); //运行设置窗体透明度的函数
changeOpacity()函数实现如下:
void test::changeOpacity(){
//获取鼠标全局位置
int curx= QCursor::pos().x();
int cury= QCursor::pos().y();
//判断鼠标是否在窗体上,如果在窗体所在区域上,则将其透明度设为1,即不透明
//如果鼠标不在窗体所在区域上,则将其透明度设为0.5
if(curx>=x() && curx<=x()+width() &&
cury>=y() && cury<=y()+height())
setWindowOpacity(1.0);
else
setWindowOpacity(0.5);
QTimer::singleShot(50, this, SLOT(visible())); //计时器,上一次透明度设置结束后,隔50ms自动调用一次该函数,从而实时更新窗体的透明度
}
- Qt实现当鼠标移动到窗体上,窗体由半透明变为不透明
- Qt实现当鼠标移动到窗体上,窗体由半透明变为不透明
- Qt实现当鼠标移动到窗体上,窗体由半透明变为不透明
- mfc中如何实现窗体半透明 但是控件不透明
- 窗体上鼠标移动画线
- QT绘制半透明窗体
- VC++窗体实现由完全透明到半透明的渐变显示
- Qt拖动鼠标移动窗体中的内容
- Qt按住鼠标窗体随之移动
- C#绘制半透明窗体,只让窗体背景半透明,而窗体里面的控件不透明
- Qt将窗体变为顶层窗体
- QT将窗体变为顶层窗体 .
- 循序渐进实现仿QQ界面(五):半透明窗体与不透明控件
- 循序渐进实现仿QQ界面(五):半透明窗体与不透明控件
- vc循序渐进实现仿QQ界面(五):半透明窗体与不透明控件
- c#实现随鼠标移动窗体
- c#实现随鼠标移动窗体
- win7上的半透明窗体
- FLEX实践—XML、XMLList、 XMLListCollection、ArrayCollection关系转换
- java httpurlconnection 发送cookie时,cookie要在Post前发送
- Flex 4.0 控件<Menu类>
- Ubuntu 11.10 正式版
- C++默认参数
- Qt实现当鼠标移动到窗体上,窗体由半透明变为不透明
- C++和Objective-C混编(官方文档翻译)
- 飞信2011正式版 秋香
- 好用的PHP验证码类,强烈推荐
- 备份脚本(svn、oracle、配置文件)
- 讼卦,帮助你处理好和上级的关系
- C#使用String.Format()方法时,出现异常"输入的字符串格式有误"的解决方法
- C++打开文件的方式
- 使用matlab引擎的应用程序正常运行