C++語言有什麼方便的GUI開發框架?

因為底層業務是用C++寫的,所以界面希望也用C++寫,主要針對windows平台,有什麼比較方便的框架推薦嗎?

謝謝!


MFC使用了10年,多個大型項目使用,大家對MFC誤解太深,這應該是Windows各種技術的簡易化集大成者,COM,OLE,ActiveX...都有Wrap,無腦集成,異常方便,從實用角度上講,這的確是一個很好很好的庫了,配合codeproject上的諸多控制項,幾乎能低成本做出各種漂亮的效果,這幾年因為界面描述的流行,逐漸放棄了;現在偶爾做點小工具的時候會用用;

公司現在用的是Duilib,雖然有各種各樣的問題,但這的確是使用過最易用,維護成本最低的Windows 界面庫了;

Qt大概學了下,深入過Quick部分(一直想通過Quick的動畫特效把我們當前的系統做出B格來),這也是現在唯一的支持動畫特效的界面庫了吧,覺得應該是個神器,但的確沒時間去深入研究他;

輪子 @vczh 的Gaylib試用過,結構清晰,命名規範,代碼可讀性極高;你硬生生的把C++寫出了C#的既視感我也無法可說,但你一個這麼帥的中國人卻偏偏要用英文文檔,雖然你不需要考慮英文不好的國人碼農的感受,但你考慮過想學好中文的老外的感受嗎,負分!


vczh-libraries/Release · GitHub


大而全的庫推薦qt,小而簡的庫推薦fltk。

另外知乎上還有兩個熱門的庫,gaclib和duilib。


Electron

Build cross platform desktop apps with web technologies.

Formerly known as Atom Shell. Made with love by GitHub.

http://electron.atom.io


Qt

簡單好用還跨平台wwww


那些給輪子哥點贊的你們真的用過他的庫嗎

T_TT_TT_TT_T分割線T_TT_TT_TT_T

沒有嘲諷輪子哥的意思,我只是吐槽一下無腦點贊。。

不過我也真的沒用過輪子哥的庫,所以沒敢給他點贊

其實我只用過Qt,放個gtkmm是等著吐槽的,因為我問的關於gtkmm的問題沒人回答T_T

T_TT_TT_TT_T分割線T_TT_TT_TT_T

強行答題

Qt和gtkmm


  • wxWidgets 不錯,跨平台原生GUI呈現,還有多種腳本bindings,開源、免費。

  • Qt的問題有二:一是它的商用版本要付費——知識產權還是要尊重的;二是Qt的C++是Qt專有的、經過修改的C++版本。

  • MFC的問題在於它大量使用宏,這不是C++的正常用法。

總之,如果你已經習慣某種框架而且用得還不錯那就繼續使用,如果是從零開始那我推薦wxWidgets,你不會後悔。


曾經最好用肯定是Borland C++ Builder 的 VCL。

現在肯定用Qt。


不是有qt嗎?

mfc用不??▂?


DuiLib,有坑,自己填。

nodewebkit,web寫前端界面,c++寫業務邏輯。


大部分的軟體和庫我都會覺得這不好,那不滿足需求,老是想自己造一個。只有qt不會。

寫點優點,類庫和api設計好-易用,工具鏈完善,文檔完善,跨平台,類庫豐富且介面規範統一不用自己東拼西湊。

用過MFC,wxwidget,qt,用過qt以後,沒有什麼動機再去玩別的了。也用過c#,上一個遊戲項目的一個編輯器的ui用c#做的,下面是c++,各種麻煩。現在項目的都用qt。


我用wxWidget在linux或是windows都無所謂,用著比MFC跨平台,比QT輕量級。


Borland C++ builder。。。。

但編譯速度遠不如delphi,所以,不如直接學、用delphi

或者用delphi做GUI,底層(命令行或DLL)才用C/C++


跨平台的用Qt,跨平台但是用原生界面的用wxWidgets。

我用得是wxWidgets,因為對電腦小白來說win的原生界面看著更熟悉一些。


Juce, 跨平台


看需求. 如果資源豐富,首選qt,強大的ide和類封裝,跨平台支撐等.缺點:由於是c++寫的,程序啟動過程中會構造大量對象,啟動速度慢

另外一個選擇是gtk,優點是程序啟動平滑,缺點是不夠強大.

如果是資源緊張,比如嵌入式平台,可以嘗試mythtv,強大的開源的用來做osd的toolkit. 也可以用qte.


果斷qt


我想問支持opengl,有可視化設計工具的界面庫有哪些?除了Qt(太大了)


參考DirectUI,WinForm,WPF寫了個約2000行的界面庫,用到了公司的程序上面,弱點是動畫效果較弱但也可以做。。


qt用起來還是闊以的


推薦閱讀:

程序員面試,面試官更注重代碼量、項目經驗還是操作系統、數據結構這種基礎課程?兩者比例是五五開還是多少?
醫學生空閑時間學編程,是VB國二基礎,有沒有什麼好的建議?
Python 中有哪些性能優化方法?
想要系統學習演算法,斯坦福大學開設的MOOC課程《Algorithms: Design and Analysis》合適嗎?
哪種編程語言的代碼可讀性比較高?

TAG:編程 | 圖形用戶界面 | C |