C++ 程序的圖形化界面運行,需要用到什麼工具?
學習 C++ 的過程中,需要將一些小程序以圖形界面運行,不會實現,想了解 GUI 編程,不知道使用哪些工具,MFC、Qt?
希望給出比較和介紹,想做簡單的入門。
qt挺不錯的,功能強大,資料多,文檔完善,
就是略龐大了一些,不過學會了也是一門手藝,找工作能堂而皇之寫上去。
不過更推薦 @vczh 輪子哥的GacUI啦,相對qt肯定沒那麼完善,不過小巧,
做小程序基本足夠了,最最重要的其實是輪子哥其實非常newbie friendly,
有問題請教他基本都能得到解答。
來看GacUI,1.0馬上就要做完了,剛剛才發了一篇文章:https://zhuanlan.zhihu.com/p/33562935
GNU的Gtk,輕量級的FLTK,功能全面的Qt,老掉牙的wxWidget。
你隨便搜一下GUI library,能搜出很多啊。
個人現在喜歡用C#寫好界面然後把C++封裝到dll里
windows.h(逃
除了類似QT這種跨平台的實現,圖形用戶界面大部分都是平台相關。根據列舉的MFC,先假定問的是Windows平台。
Windows原生圖形用戶界面開發,在以前很長一段時間,都是基於HWND窗口句柄的Win32 GUI,每個窗口及控制項,都有一個HWND窗口句柄與之對應。後來在MSN和OFFICE等Windows自家軟體里,逐步開始使用Direct UI,也就是除了外層承載的主控制項或主窗口,內部控制項沒有HWND窗口句柄,而是通過內部代碼維護的數據結構管理顯示、輸入與事件處理,但是這種方式只是微軟自己使用,沒有對外。而到了再後來,推出了WPF,通過xml配置UI,也是通過Direct 不過這玩意和.NET Framework綁定,C++要使用,需要用上微軟擴展的託管C++,應該不符合需求。
所以想在Windows平台做些簡單的圖形用戶界面開發,應該就是在Visual Studio下,通過可視化編輯器,或者純代碼,使用Win32 GUI。這種技術,在書店或者網上,找下Visual Studio圖形用戶界面開發相關的書籍和文章,看看就差不多了。
另外,問題提到的MFC,基礎也是Win32 GUI,只不過使用C++的宏及類等,對基礎API做了一定封裝,使用起來更簡便一點。但是也是因為多了這層封裝,新用戶習慣了MFC,對於圖形用戶界面本質的一些理解,可能沒有使用基礎API那麼深。至於如何選擇,看個人的偏好及需要了。
此外,在接觸使用過一段時間之後,對於圖形用戶界面有了自己的理解,這時候再來選擇使用哪種技術,或者更深入了解原理後,自己來實現圖形用戶界面底層,也未嘗不可。
Qt,mfc太老了,Qt的好處就不多說了,Qt也不難入門的。
既然是自己玩的小程序那就不要想了無腦mfc gayui duilib 怎麼easy怎麼來
qt是給中型~大型項目用的,光是安裝包大小都是和vs一個級別,裡面的很多東西可能你一輩子都不會用到。不過如果你有花(浪)費一兩天時間入門的決心,還是可以試一試。
如果是大型項目,那麼題主也沒有決策權 ,來這裡問也沒用, leader說用啥就用啥吧。如果項目和ui和功能可以完美解耦(就是拆開) 而且不在乎程序大小的話,也可以用考慮html(nw.js和electron),涉及到具體產品的話可以參考xx雲音樂 和 xx音樂 還有vscode。為什麼我要特意推薦用html呢?因為ui出了屎可以甩鍋讓前端擦屁股(逃他山開發框架大發好!
輕量級的界面編程推薦qml,一款由QT開發的解釋型編程語言。
複雜的再用QT,不推薦QT與QML混編
用qt,文檔全面資料多,開發也比較方便。
實用角度的話還是推薦qt,另外再推薦個沒人提到過的imgui
我知道不會有人推薦 gtkmm 和 PyGObject 的……
好吧,講道理,實用角度出發,還是 Qt 吧,功能全面,Python 就用 PyQt 好了。當然你要小巧跨平台,也可以用 wxWidgets 和 wxPython。如果只考慮 Windows,也可以用 MFC WTL 啥的,不過這倆就沒有 Python 綁定了,你還是得用別的。
python我用過tkinter c++我用過qt入門的話用qt,網上資源很多的
推薦用Qt,簡單入門可以去各大公開課網站搜索Qt視頻教程,例如B站。
python 同理
C++/CLI 聯動 WPF.
除此之外沒有特別好使、文檔齊全、與C++能一起用的。
推薦閱讀:
※我的Live -- 爬蟲從入門到進階
※為什麼中國的 Ruby 和 Python 活動大多在上海而不是北京?
※異常(exception)和執行失敗有什麼區別?
※PY交易(二)使用Pygame寫一個小遊戲——Pie
※anaconda中如何安裝keras?
