Qt鼠标穿透 您所在的位置:网站首页 桌面歌词是什么意思 Qt鼠标穿透

Qt鼠标穿透

2024-01-23 03:52| 来源: 网络整理| 查看: 265

鼠标穿透的意思是所有鼠标键盘操作全部会穿透窗口到下方窗口,一种是穿透到父窗口,一种是穿透到桌面。

一、穿透到父窗口

当前窗口及子控件均不响应鼠标事件

setAttribute(Qt::WA_TransparentForMouseEvents, true);

当前窗口透明区域不响应鼠标事件

setWindowFlags(Qt::FramelessWindowHint | Qt::Tool); setAttribute(Qt::WA_TranslucentBackground, true);

自定义当前窗口区域响应鼠标事件

void QWidget::setMask(const QRegion ®ion)

注意:如果设置的区域很复杂,效果可能会很慢。

二、穿透到桌面

鼠标点击穿透被广泛应用在桌面挂件程序上,目的是为了避免鼠标对窗体进行误操作。

Qt 并没有自带的方法可以实现该功能,所以需要调用系统本身的 API 来实现。这里介绍下 Windows 下和 Linux 下如何实现鼠标点击穿透。

很多 osd 桌面歌词程序经常用

#ifdef Q_OS_LINUX #include #endif #ifdef Q_OS_WIN #include #endif #ifdef Q_OS_LINUX XShapeCombineRectangles(QX11Info::display(), winId(), ShapeInput, 0,


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有