【发布时间】:2013-09-10 19:19:26
【问题描述】:
情况:无边框 QDialog 成功地保持在其他应用程序之上。
问题是在单击此始终位于顶部的应用程序窗口时,会发生以下情况:
- 被点击的始终在顶部的应用程序被激活
- 点击的始终位于顶部的应用程序窗口会窃取之前活动/焦点应用程序的焦点
是否有可能在单击这个始终位于顶部的非活动且未聚焦的应用程序窗口时,
- 当前应用没有失去激活和焦点
- 虽然用户仍然能够与始终处于顶部的应用程序进行交互(点击按钮或下拉菜单、拖动窗口)?
我正在使用 Qt,但使用原生 Windows API 没有问题。
我尝试了以下 Qt windowFlag:
-
Qt::WindowDoesNotAcceptFocus但它不起作用:始终处于顶部的应用程序已激活,已聚焦。 -
Qt::WindowTransparentForInput,always-on-top 应用程序对点击非常透明:未激活且未聚焦,但不幸的是点击时未触发按钮。
【问题讨论】:
标签: qt winapi click focus always-on-top