Winform、Wpf、Qt的比較


1、winform不支持矢量圖形,wpf支持矢量圖形,可以利用Blend工具使用xaml語言繪制矢量圖形,這就是所謂的大家常說的winform圖形縮放會變成鋸齒狀而wpf不會。

2、winform是以事件模型驅動頁面變化的,wpf支持以mvvm模式的數據驅動頁面,前后端代碼完全分離。

3、渲染機制的不同,winform在初始化時渲染一次界面,然后只能修改控件的屬性等單個刷新界面控件,但是wpf因為mvvm的機制,在初始化時第一次渲染頁面,后面每綁定的數據變動一次都會重新刷新整個頁面的控件(可以根據wpf的視圖樹理解),雖然我們可以利用wpf的xaml語言和mvvm更加高效的開發炫酷自定義的控件,但是wpf是吃cpu的,所以我們經常會看到論壇有人說winform比wpf應用運行更加快流暢。winForm使用傳統的經典GDI庫渲染圖形界面而wpf是DirectUI庫,wpf的底層是DirectX支持獨立顯卡GPU加速適合開發酷炫復雜的界面。

4、Qt支持跨平台的界面庫,利用qmake或者cmake編譯工具打包發布成不同的運行平台應用程序(補充一下cmake項目一般都是用CMakeLists.txt來管理項目的,可以用VS打開CMakeLists.txt文件自動創建項目文件),Qt應用運行不需要運行時,而wpf和winform需要.netframework的CLR運行時提供支持,也就是說運行wpf和winform程序之前電腦需要安裝對應版本的netframework,而Qt應用直接打開就可以運行了,因為Qt使用的C++語言可以直接編譯成機器語言,只需要在安裝的應用中引用指定版本的C++庫即可。作下類比如下:

Qt Widgets  <——> Winform

Qt Quick  <——> Wpf

Qml(類似javascript)  <——> Xaml + mvvm     

//qml相當於一個高度集成的前端開發框架類似node.js這種    Qt Quick內部集成了google V8引擎作為qml的解釋器,摒棄了html取而代之的是直接使用js作為UI的設計語言,qml的意思是Qt Markable Language。Qt Quick也提供了一系列js和C++交互的接口,便於js和C++通信。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM