Qt实现当鼠标移动到窗体上,窗体由半透明变为不透明
来源:互联网 发布:平板软件市场hd 编辑:程序博客网 时间:2024/05/01 11:45
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上的半透明窗体
- struts2 访问静态常量,静态方法
- linux下vim命令详解
- iBatis配置详解
- Canvas API
- 作为软件工程师,你必须知道的20个常识
- Qt实现当鼠标移动到窗体上,窗体由半透明变为不透明
- POJ 2255 Tree Recovery
- java中equals和==的区别
- 在Extjs Grid扩展一个链接按钮列
- Qt实现右键快捷菜单
- 万恶的sync-binlog=1
- C# ListView控件的使用方法 简介
- Web Wokers API
- 动态调整UITableViewCell高度的实现方法