2014-11-21 47 views
0

這是一個跟進到outstanding question,解決方案似乎是,我必須使我的Qt應用程序爲另一個應用程序的孩子,特別是具有輸入焦點的活動窗口。我需要這樣做,以便我的Qt應用程序自動具有輸入焦點,而用戶不必先點擊它。 (這是必要的,因爲Qt應用程序是由後臺進程啓動的。)爲另一個應用程序育兒Qt應用程序

我知道QWinWidget - 「一個可以是本機Win32小部件的孩子的Qt小部件」。不幸的是,我的應用程序基於QMainWindow,並沒有明顯的方式使它從QWinWidget派生。

+0

@AlexanderVX感謝您的回覆,但我並不真正瞭解您的解釋。你可以再試一次嗎? – Olumide 2014-11-22 00:13:48

回答

0

的解決方案,它似乎是我必須讓我的Qt應用程序其他應用程序的孩子,特別是具有輸入焦點活動窗口...

類似Win32的解決方案,在其他應用程序捕獲自己畫布中的某個窗口通常由SetParent API調用驅動。這裏是one。它適用於Qt小部件中的其他進程渲染,但您需要以其他方式進行渲染。你如何獲得Qt窗口句柄?那麼,對我來說QWidget :: winId()即使在Qt 5.3中也能工作,但我最近偶然發現了discussion,並且有點困惑它是否總能正常工作。無論如何,你需要在你的Qt應用程序中使用get an active window以及在獲得它應該是窗口句柄的winId()之前。

P.S.奧魯米德,請解僱我的初步評論。我想,反過來說,什麼應用程序的父母是什麼窗口,事實證明非Qt需要Qt。

相關問題