C++|Qt工作筆記-Windows平臺下的控制程式碼與Qt中QWindow::winId()以及 QPlatformWindow::handle的區別與聯絡

IT1995發表於2020-04-07

具體是這樣的,當建立一個Qt視窗,呼叫window->winId()與window->handle()後,執行截圖如下:

此時可以看到,這個視窗的handle為0x1e78de38

windId為394648

 

這裡還沒有什麼疑惑,現在用Spy++來抓下這個視窗,就會發現有個問題了!

把控制程式碼00060598轉10進位制後!

結果為394648。

這真是日了狗了,Qt裡面的WinID竟然返回的是其中的控制程式碼!

而Windows->handle這個函式咋文件裡面說沒寫完,查不到

但這裡面可以猜測到,Qt提供了一套跨平臺的控制程式碼(想想就覺得很興奮)

 

這裡只要知道Qt中WinId在Windows平臺上得到的是其控制程式碼,並不是他的WindowsID。

 

 

相關文章