Qt - 有选择地允许单击进入较低的应用程序窗口

2023-12-19

即使在 Qt 应用程序中,是否也可以接收鼠标单击,对其进行评估,并在必要时让它落入 Qt 应用程序窗口下方可能发生的任何内容?

注意Qt::WA_TransparentForMouseEvents在传递点击之前不利于对其进行评估。

而且由于点击评估包含了一些动态逻辑,因此也不适用于设置静态遮罩,除此之外还会产生视觉影响。

理想情况下,我想要一种有选择地允许鼠标单击以平台可移植方式穿过应用程序窗口的方法,最好是从 QML 中进行,而不需要引入小部件模块,或者至少不涉及深入研究私有 C++ 内部 API 。


Qt::WA_TransparentForMouseEvents用于过滤掉鼠标事件。这个名字有点用词不当:它允许本来会消耗鼠标事件的小部件,而不是消耗它们。例如。您可以使按钮不注意到任何鼠标事件。如果您正在编写自定义小部件,则永远不需要此属性,因为您需要检查鼠标事件而不是处理它们:它们会自动传递给父小部件。

但这一切都没有多大关系,因为WA_属性适用于小部件,对窗口不起作用。您完全想要其他东西:使窗口本身对于输入透明。因此,在 QML 中:

window.flags = window.flags | Qt.WindowTransparentForInput
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt - 有选择地允许单击进入较低的应用程序窗口 的相关文章

  • 如何在 Qt simple 上解密/加密某些字符串(例如密码)

    这是我得到的 Qt SDK版本4 6 2 视窗XP 问题 我怎样才能简单地加密和简单地加密QString价值 我需要它能够将一些加密的字符串保存到 INI 文件中 并在重新打开应用程序后将字符串加密为正常的密码字符串值 PS 我正在寻找简单
  • 包含 Qt 标头的正确方法是什么?

    到目前为止我知道几种方法 includeQt 类 include
  • QML改变图像颜色

    我搜索了如何对图像进行着色 格式为 svg 或 png 我尝试用一 个填充图像的矩形覆盖我的图像 但由于我的图像不是矩形 它会给整个矩形着色 而不仅仅是图像 可以用qml改变图像颜色吗 或者 是否可以使用 QPixmap 更改 qt 使用
  • QPainterPath::arcTo 上的角度如何解释?

    我正在开发图形编辑器的功能 在其中编辑弧线 当形状是椭圆形时 QPainterPath arcTo 的行为并不像我预期的那样 当它是一个圆圈时 它会按预期工作 下面的两张图片显示了结果 在第一种情况下 我创建了一个圆 然后将其转换为初始起始
  • 如何将flex和bison与Qt项目集成?

    我正在 git 源代码控制下使用 Qt4 制作 GUI 程序 Github页面 https github com vinayak garg dic sim 项目的一小部分需要扫描和解析 所以我想在项目中使用flex和bison 我能想到3种
  • 从 Qt 更改屏幕分辨率?

    我想更改屏幕分辨率 然后使用一个 ActiveX 控件 Flash 播放器 进入全屏 显然 仅适用于 Windows 的解决方案就可以了 有 Qt api 吗 还是我需要深入研究 winapi 如果是这样 我该在哪里查找 关键字 谢谢您的帮
  • Android 版 Qt 和 BoringSSL

    我正在开发一个基于 Qt 的 Android 应用程序 它使用 QSslSocket 下载数据 由于 Android 从 OpenSSL 转向 BoringSSL 因为依赖 OpenSSL 库的 Marshmallow Qt 程序在 And
  • QFileDialog 作为 TableView 的编辑器:如何获取结果?

    我正在使用一个QFileDialog作为某些专栏的编辑QTableView 这基本上有效 对一些焦点问题取模 请参阅here https stackoverflow com questions 22854242 qfiledialog as
  • 无法将 [未定义] 分配给 QColor

    我正在使用 Qt 5 11 构建 运行代码 代码中有QML风格如下 Button style delegate Component id enabledButtonStyle ButtonStyle padding top 0 paddin
  • C++ QT libXL 错误:“启动期间程序退出,代码为 0xc0000135”

    我正在尝试编写一个使用 libXL 的 QT 应用程序 但是当我尝试编译时 我收到一个弹出框 显示 During Startup program exited with code 0xc0000135 我已经准确地找出了哪一行导致了问题 它
  • 构建qt程序时未定义的符号:找不到qt_version_tag

    我正在学习Qt5 6 我正在使用 Ubuntu 14 4 当我链接我的程序时 出现以下错误 undefined reference to qt version tag 在 CMakeLists txt 中 link libraries Qt
  • 如何通过信号和槽传递参数?

    我的 GUI 包括LineEdit and a 按钮 当 的时候按钮单击后 插槽clicked 叫做 我想在之间建立信号槽关系clicked 作为信号和doSomething 作为插槽 问题是doSomething 无权访问 UI 并且do
  • OSX:检测空格键向下和向上事件

    我需要记录我自己演讲的数千个简短的声音片段 我正在为语音识别引擎训练声学模型 因此 对于每个文本 屏幕上都会显示一行文本 我必须说出它 并将音频捕获到 WAV 中 我找到了一个用于录制音频的示例项目 现在我想弄清楚如何进行键盘输入 我想按下
  • 仅当从 Qt 连接时网页返回 HTTP 406 错误

    我有一个测试页面设置http mlecturedownload com test qt php http mlecturedownload com test qt php有以下代码
  • Qt 码头调整大小事件

    有没有办法在 Qt 中捕捉码头的调整大小事件 我需要能够检测到扩展坞何时调整大小 而不仅仅是其位置或 功能 发生变化时 看起来 QDockWidget 没有 调整大小 信号 如果您不希望子类化以仅获得调整大小事件控件 您可以安装事件过滤器
  • QtWebEngine Quicknano 在嵌入式 Linux 中没有声音

    我已将 QtWebEngine 编译到我的 i MX6 嵌入式设备中 当我尝试使用 Quicknanobrowser 播放 YouTube 视频时 视频会播放 但没有声音 事实上 当我尝试播放音频文件时没有声音hpr dogphilosop
  • 如何在Qt中更快地读取数据?

    Qt读取数据库比C 慢吗 我想我错过了一些东西 为了比较阅读速度 我在 Qt 中编写了以下内容 QElapsedTimer t t start int count 0 QString cs Driver SQL Server Server
  • 使用样式表时的 QTabWidget tabPosition

    我目前正在使用样式表来设计应用程序的主题 这是我用于 QTabWidget 的样式表 QTabBar et QTabWidget QTabBar tab background qlineargradient spread pad x1 0
  • 偶尔连接的 CQRS 系统 - 客户端和服务器命令 - 基于任务的屏幕

    Premise 建议在CQRS DDD ES样式应用程序使用task基于屏幕 这些屏幕引导用户并捕获意图 These task屏幕也可以称为感应式用户界面 UI 设计指南的一些示例可以帮助您创建现代的 用户友好的应用程序 Microsoft
  • onTouchEvent()中如何区分移动和点击?

    在我的应用程序中 我需要处理移动和单击事件 一次点击是由一个 ACTION DOWN 操作 多个 ACTION MOVE 操作和一个 ACTION UP 操作组成的序列 理论上 如果您收到 ACTION DOWN 事件 然后收到 ACTIO

随机推荐

  • 在 Python 中遍历列表列表中的列

    当我尝试跨行中的列进行迭代时 该列在嵌套循环内不会发生变化 i rows 4 i cols 3 matrix 0 for c in xrange i cols for r in xrange i rows for row r in enum
  • Android 从 Google 云端硬盘串流视频

    我正在构建一个 Android 应用程序 需要从 Google 驱动器流式传输视频 视频链接如下 https docs google com file d ID 我无法获取 rtsp 因此它无法在 videoview 中运行视频 并且它不会
  • Angularjs Post 不向 Spring JWT 发送标头

    我有一个由 AngularJs 构建的网络应用程序和一个由 Spring 构建的后端应用程序 我正在使用 JWT 来保护我的应用程序 使用 Get 方法一切正常 在后端级别我得到了我期望的不记名令牌 这样我就可以返回私人信息 但使用 POS
  • PHP 相当于 Ruby 的或等于 (foo ||=bar)?

    在 PHP 中我经常写这样的行 isset foo NULL foo bar 在 ruby 中 有一个绝妙的捷径 称为或等于 https stackoverflow com questions 995593 what does or equ
  • 为什么 dapper 在执行选择时返回 Guid 全零,但表中的 guid 值设置正确?

    我正在使用 dapper 从表中查询数据 然后将其转换为对象 当它被转换为对象时 guid 属性设置为全零 但所有其他属性都设置正确 public class UserStuff public int Id get set public G
  • 我应该将所有方法参数标记为最终参数并指定类型吗

    有效的 dart 指定顶级变量应该是final当适用 https dart lang github io linter lints prefer final fields html https dart lang github io lin
  • Npm 错误:npm 安装命令的 503 服务不可用

    我正在尝试运行 npm install 命令 但出现此错误 Error 503 Service Unavailable for npm install command 任何人都可以请我请求您解决此问题 这是获取错误日志文件时实际发生的完整错
  • 在 IE9-11 中使用 jQuery 更新 SVG 文本

    我正在尝试使用 jQuery 更新 SVG 路径上的文本 它在 Firefox 和 Chrome 中工作正常 但在 IE9 和 IE11 尚未在 10 上测试 但可能是相同的 中文本未更新 有什么想法 解决方法吗 到目前为止 这是我的代码
  • C:同时运行两个函数?

    我在 C 中有两个函数 void function1 do something void function2 do something while doing that 我如何同时运行这两个函数 如果可以的话请举个例子 你会使用线程 例如
  • 如果满足 AWK 中的条件,则打印行范围

    我想做的是使用 awk 在没有管道的情况下显示满足特定条件的行上方 2 行和下方 2 行 例如 我正在搜索字符串 s62234 找到后 我想打印蓝色矩形内的所有行 如所附屏幕截图所示 这是我正在使用的文件 thefmifile txt s6
  • Dart/Flutter:Http 请求引发 XMLHttpRequest 错误 [重复]

    这个问题在这里已经有答案了 我正在尝试制作一个带有 flutter 的 RSS 阅读器 但是该程序提出了XMLHttpRequest error 在我的测试中 我使用网络 Chrome 作为我的目标平台 感谢您的帮助 Future
  • PHP 中的 FPDF 中的特殊字符

    我有一个用户可以填写的网络表单 该内容使用 FPDF 和 PHP 填充 PDF 当用户输入带有撇号的单词时 PDF 中该单词前面会出现斜杠 同样 商标符号等特殊字符的编码也是错误的 FPDF 常见问题解答说要使用 str utf8 deco
  • Kohana 3.3 ORM _has_many _belongs_to

    我正在尝试使用内置的 ORM 在 Kohana 3 3 中设置产品对象 我想要这样 当我打电话时 p1 ORM factory product gt where product type 1 gt find all 它将创建一个具有以下结构
  • 数组的具体化内联函数

    在 Kotlin 中是否可以编写一个具体化类型的内联函数 它可以返回不同类型的Arrays 我想这样的事情 inline fun
  • 适用于 Android 的“频移键控”解码器

    我正在尝试通过 Android 设备的音频端口传输一些数据 我使用 FSK 频移键控 我使用两个不同的频率来表示 1 和 0 是否有任何 Android 库或示例代码来 FSK 解码捕获的音频数据 你可能想看看这个 https code g
  • 在 Laravel 中允许多个密码重置令牌

    Laravel 5 7 密码重置系统的默认行为是在password resets删除该用户的任何其他表后 这种行为是由 Illuminate Auth Passwords DatabaseTokenRepository而且它似乎不可配置 p
  • 是否有 String.format(...) 的类型安全替代方案

    对于撰写错误 日志记录或任 何其他String消息String format 可以使用方法 不幸的是 这个方法不是类型安全的 因此以下源代码将抛出一个IllegalFormatException String s String format
  • 如何在 PowerShell 中抑制溢出检查?

    PowerShell 似乎在算术运算和转换后执行边界检查 例如 以下操作失败 byte a 255 a a byte 256 有没有办法强制溢出或类型转换 而无需通过模数或 C 和 Add Type 进行手动计算 您在 PowerShell
  • Capistrano 目标路径已存在,不是空目录

    在 Ubuntu 14 04 上使用 Capistrano 部署 Rails 应用程序时 出现以下错误 fatal destination path var www APP NAME repo already exists and is n
  • Qt - 有选择地允许单击进入较低的应用程序窗口

    即使在 Qt 应用程序中 是否也可以接收鼠标单击 对其进行评估 并在必要时让它落入 Qt 应用程序窗口下方可能发生的任何内容 注意Qt WA TransparentForMouseEvents在传递点击之前不利于对其进行评估 而且由于点击评