我已经开发了一个全屏应用程序,它连接到第三方/客户端应用程序并由其启动。
在客户端获取焦点后,如何将焦点恢复到应用程序?
如果重要的话,我的应用程序是用C++编写的,并且有一个QT UI。
发布于 2014-11-21 20:07:34
不完全是答案,而是我的应用程序没有输入焦点的原因。我会让Charles Petzold来解释(来自编程Windows 5ed,第213页)
接收特定键盘事件的窗口是具有输入焦点的窗口。输入焦点的概念与活动窗口的概念密切相关。具有输入焦点的窗口要么是活动窗口,要么是活动窗口的后代窗口--即活动窗口的子级,或者活动窗口的子级,依此类推。
我的Qt应用程序不是由活动窗口生成的,因此没有输入焦点。因此,解决方案是将我的应用程序设置为活动窗口的父窗口。不幸的是,这在Qt中并不简单,如果可能的话。
发布于 2014-10-28 15:54:01
下面是Qt文档:
http://doc.qt.io/qt-4.8/qwidget.html#activateWindow
http://doc.qt.io/qt-4.8/qwidget.html#raise
http://doc.qt.io/qt-4.8/qwidget.html#setFocus
希望它在启动后调用时会有所帮助。
https://stackoverflow.com/questions/26587420
复制相似问题