對於新手來說,C++中的界面庫肯定是不是很熟悉的。下面為新手朋友們介紹界面庫。
1. MFC
優點:VS2008以及VS2010的擴展確實很強大,特別是原生的窗口運行時停靠以及PropertyGrid確實很強大
缺點:默認字體很模糊,無論你對MFC多了解,C++多熟悉,每次寫代碼時依然要重新熟悉代碼,更不用提分析別人寫的MFC代碼,一個字:亂。
2. WTL
優點:Windows下有個最好的例子:Google Chrome
缺點:缺乏設計器,文檔例子很少
3. wxWidgets
優點:虛幻3編輯器在用不是廣告),wxAUI的布局設計器很方便,Windows原生界面很舒服,各種功能封裝都很到位。
缺點:布局沒有類似GTK+的Fixed絕對坐標方式Windows SDK默認的左上角像素定位方式),在某些界面顯得設計麻煩。 動態鏈接庫多的嚇人,工程過於臃腫。
4. Qt, GTK+
據說Windows下不是很好用。
5. DirectUI
有很多個人封裝類似功能的庫。界面,代碼分離, 但99%都是收費
6. C# Windows Form
這是很好的選擇,語言方面可以用C++/CLI 免得轉換語言
自由停靠功能可以使用WeiFenLuo.winFormsUI.Docking 非常簡單
7. WPF
有童鞋已經使用MFC/C++通過加載XML顯示界面,不過通過資料顯示,WPF的控件很少,甚至連原生的PropertyGrid都沒有,設計器倒是很華麗
總結:界面庫的選擇最重要的一點就是看有沒有很好的設計器,這個是高效開發的重中之重。我尊重MFC,敬仰MFC,它作為C++的框架庫來說很不錯,但是對於界面設計還是過老了。我們開發的是產品,出的是程序,而不是研究MFC,怎樣用好MFC。