我想保存焦点窗口的标题,我做了这部分,但我不知道是否有任何QEvent捕获所有(非应用程序)focusChanged事件?就像从Chrome切换到Qt Creator一样。我做了一个替代解决方案,如果最顶层的窗口标题已经改变,那么每秒检查一次,但这是非常粗鲁的。如果可能,我需要跨平台解决方案。
修改
我正在使用QT 5.9.0
答案 0 :(得分:0)
快速回答: Qt只有自己的窗口和小部件的焦点事件。有关起点,请参阅http://doc.qt.io/qt-5/qfocusevent.html#details。 没有关注其他应用程序的事件。
详细说明: 对于多平台解决方案,需要有更一般的观点。在某些(X窗口)系统上,键盘焦点在鼠标下的窗口中。但只有点击后该窗口才会成为最顶层的窗口。在移动平台上,只有一个活动应用程序。并且不允许应用程序查看其他应用程序何时被激活。因此,根据我的理解,没有完整的多平台解决方案。
仅限Windows的扩展程序位于Qt Windows Extras中。 http://doc.qt.io/qt-5/qtwinextras-overview.html。但不幸的是,焦点变化没有任何关联。