Qt中捕獲Windows訊息

來源:互聯網
上載者:User

個人比較喜歡Qt的訊息機制,算是怕了MFC了,寫出來的代碼自己都不認得。。。最要命的是,我想自己寫的UI也可以在Linux下跑。

最初打算髮展wxWidgets,一樣是跨平台,速度還可以。之前一直對Qt的License抱有偏見,感覺不夠Linux精神,一直沒瞧得上它。

甚至因此KDE在我案頭上出現的幾率遠遠小於GNOME。。。

後來,在跨平台、IDE、介面設計工具等多方面因素考慮下,我選擇了曾被我忽略了N年的Qt

(我最先接觸的UI是gtk,而不是win32或mfc之類)。當用了Qt以後,coding體驗令人讚歎。

無論是簡單的介面設計,還是清晰的訊息機制,抑或是多語言支援,跨平台,豐富的輔助庫,LGPL的License等等方面。。。

Qt毫無疑問地成了我最喜愛的UI庫了。。。

 

既然現在還在做著Windows下的開發,那就忘不了win32。言歸正傳,就說一個函數。

可以在Qt捕獲Windows系統訊息之前,自己首先過濾一下。。

bool QWidget::winEvent ( MSG * message, long * result )   [virtual protected]

太完美了,其實Windows裡很多東西在Qt裡都可以擷取的,比如視窗控制代碼就可以通過QWidget的winId()得到。

但是,如果你寫上這些代碼的話,顯然破壞了跨平台性。不過,有時全域的跨平台性就是通過局部的平台依賴實現的。這個叫“分而治之”。。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.