有什麼開源免費庫做桌面界面的嗎,在用MFC,麻煩,我做工業軟件二次開發的?

數學基礎


下面說說自己身邊從事PC客戶端開發同事用過的界面庫。

1、Duilib

我們先來看看官方對其介紹:

Windows下免費開源的DirectUI界面庫,由於簡約易擴展的設計以及穩定高效的實現被各大互聯網公司普遍接受,廣泛應用於包括IM、視頻客戶端、股票行情軟件、導航軟件、手機輔助軟件、安全軟件等多個行業的眾多pc客戶端軟件。

下面是一張使用duilib開發的仿360的界面效果圖:

目前最火的「微信」、「釘釘」,在Windows客戶端的開發中,也採用了Duilib。


那麼使用有什麼注意點呢?一定要注意目前官方已經不再提供維護,各大公司都是自己內部維護一份,所以可能會遇到不少的坑點。

2、BCG

大名鼎鼎的MFC界面庫,可以完美的兼容MFC項目,使用它可以很方便的完成項目的換膚,尤其是表格控件很強大,新版本的對office的支持也不錯。更多的介紹可以參考官方網站。

3、QT

沒錯,就是QT,它可以和MFC混合編程的,最重要的是QT不僅比MFC簡單,更重要的是他要比MFC強大,目前我司的產品遺留代碼,已經在原有MFC的基礎上,一步步的替換到QT(PS :目前 感覺比較混搭,不太協調),下面是使用QT提供的QSS技術開發的一張UI效果圖,還是比較絢麗的。(圖片來源:CSDN博主一去、二三里,如有侵權,請聯繫刪除)

目前的QT已經越來越強大了,國產化當頭,相信其市場會更加廣闊,如果從事PC客戶端開發,為了個人走的更遠,為了升職加薪,還是建議掌握QT!


一個程序員的奮鬥史


MFC,應該是Windows平臺一個比較老的C++框架了,開發桌面界面的確有些費力,這裡介紹3個簡單易學的C++開源、免費桌面框架或庫,分別是Qt,wxWidgets和Duilib,感興趣的朋友可以嘗試一下:

01

Qt

這是當前一個非常流行的桌面應用程序開發框架,免費、開源、跨平臺,基於C++語言開發而來,著名的KDE桌面就採用這個框架,自帶有可視化設計界面,內置了大量組件和容器,只需簡單拖拽、編輯屬性就可快速設計UI界面,支持CSS美化,相比較MFC來說,操作簡單,易學易懂,官方資料豐富,社區活躍,非常值得學習和使用:

02

wxWidgets

這是一個非常著名的跨平臺界面開發庫,也是基於C++開發,不管私用還是商用,都完全免費,與Qt設計不同(仿平臺外觀),wxWidgets完全使用平臺庫創建圖形接口,不需要在代碼上添加額外層,因此更高效快捷,社區資料和官方文檔同樣豐富,如果你本書熟悉C++,有一定基礎的話,學習起來會非常迅速:

03

Duilib

這是早期Windows平臺下一個非常不錯的輕量級C++界面開發庫,完全免費、開源,可以看作是MFC的替代品,基於xml定製窗口,自主可控,能較好的做到UI界面和處理邏輯相分離,因此開發效率更高,也更易維護,可以輕鬆實現大多數界面需求,包括換膚、換色、透明等,支持多種圖片格式,對於軟件界面開發來說,非常不錯,不過現在已經停止更新和維護,只保持基本功能:

目前,就分享這3個不錯的C++界面框架或庫吧,可以看作是MFC的替代品,只要你有一定C++基礎,熟悉一下相關示例和代碼,很快就能掌握的,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。


小小猿愛嘻嘻


選擇QT,為什麼選擇QT?

  1. 主要原因是MFC開發界面想做得好看一些十分困難,引用第三方基於MFC的界面庫代碼也是比較混亂,qt有qss樣式設計這個功能。當項目移植到到QT後,MFC相對於QT缺點實在太多。當然MFC還有一個致命的缺陷,沒法跨平臺。
  2. 有同學可能說為什麼不直接使用C# WPF做界面,一些項目和工具確實是用C#做的,C#和C++也確實可以互相調用,並且可以斷點調試。但在性能上還是有不少的損失。對於音視頻和三維仿真項目確實有影響,所以只在一些對性能沒有極致要求的項目中使用C#。

QT突出的優勢:

  1. Qt 是基於 C++ 的一種語言擴展(Extention)

C/C++ 目前還是一種很多人都在學習的語言. Qt的好處就在於Qt本身可以被稱作是一種 C++ 的延伸。Qt 的類都是用 C++ 寫出來的。這也就是說, Qt 本身已經繼承了C++的快速、簡易、面向對象等許多的優點。

2. Qt 具有非常好的可移植性(Portable)

Qt不只是可以在 Linux 中運行,也同樣可以運行在 Microsoft Windows 、Mac OS X等多種不同的平臺中。這也意味者,利用 Qt編寫出來的應用程序,在幾乎不用修改的情況下,就可以同時在多種平臺中運行。 Qt的應用非常之廣泛,從 Linux到 Windows ,從 x86 到 Embedded 等都有大量Qt應用的成功範例。

3. Qt支持跨平臺構建(Cross-Platform Builds)

編寫用於多平臺的軟件是單調乏味的,且可能隨時出現錯誤。維護編制文件更是如此,尤其是當不同的編譯器和平臺組合需要若干個編制文件時。通過qmake工具,Qt能夠很好地面對這一挑戰。這個工具可以為目標平臺生成準確無誤的編制文件。

4. Qt是開源軟件(Open Source)

Qt產品提供的是採用雙重授權的軟件許可模式。在該雙重授權模式下,Qt產品不僅可在獲得商業許可下針對專利軟件開發,而且還可以在GPL(通用公共許可證,版本2或版本3)下用於開發免費和開源軟件。

5. Qt架構健壯,性能強大(powerful)

Qt 已由成千上萬商業與開放源應用程序員,在多個操作系統與編譯器上進行了測試,奠定了高性能應用程序的基礎。

此外,Qt運行時無需依賴“虛擬器”,模擬層或大容量的運行時間環境。它如本地化的應用程序一樣,能夠直接寫入低級的圖形函數,因而使用Qt開發的應用程序能以源代碼速度執行。

6. Qt使用起來簡便高效(concise)

Qt統一的跨平臺API 讓程序員們集中精力致力於可增值的技術革新,而無須擔心維護和管理現有應用程序多版本的基礎結構與界面。 因此Qt開發人員僅需要學會一種API來寫入應用程序,該程序便可在任何地方運行。

Qt Software投入了相當大的努力使得Qt使用起來儘可能簡單和直觀。來自世界各地的客戶反饋普遍認為Qt編程簡單而有趣;而對於商務應用而言,Qt可以轉換為更多的功能,並且在保持質量性能的情況下,只需更少的維護工作。

總之,Qt可以跨平臺、不依賴虛擬機機制,速度和性能不會比同類型的Java, .NET(C#)差,這就是程序員選擇Qt的最直接的理由了。


三年起步


如果不想付授權費又不想開源又不想給公司惹來麻煩,不要用QT!

如果只是Windows平臺用,那用C#來寫什麼WPF啦,WinForm啦絕對又快又好。如果LINUX平臺用,GTK3是首選


手機用戶76216957678


你如果學的c++,建議使用qt界面庫,這個現在是主流。,並且是跨平臺的,學習這個界面庫也很快,先熟悉。MFC這個庫有點過時了, 除了一些老的設備獲取是以前比較老的開發者,工業控制領域,他們還在堅守,我們這些年輕人,早都已經用了QT來開發。

MVS 使用qt開發


MVViewer使用QT開發

qt能夠做出很好地效果。


機器視覺工程師


做工業軟件,就不要追求好看的界面了,好看是好看,影響性能。省下的CPU時間能幹很多更重要的事,比如數據採集,分析,通信。實在要做,就用一些開源的類了,C#千萬別用


夏日風41


MFC+BCGPControlbar+measurement studio絕對沒錯,別信什麼c#,delphi,electron遇到性能問題你沒有辦法解決,delphi雖然性能可以,可是平臺兼容性太差,有的第三方組件竟然連串口通信都做不好,不要相信什麼快速方便,小軟件還行,遇到刁鑽的客戶讓你做出好用點的界面,delphi就是地獄,提供了便利但是也套了枷鎖,除非你對delphi框架特別瞭解


阿廖70088832


跨平臺且通用的我覺得是gtk,事實上gnome就是gtk開發的。我司一直使用gtk+2做系統界面,編譯完的程序3.6M,飛快無比。


馮迅


可選擇的很多啊,使用QT,或者WPF,CEF3也可以,界面技術用過不少,這兩年一直使用CEF3,界面想要啥效果就能做出啥效果…


雪山老碼農


其實用c++開發界面程序,基本上都很麻煩。MFC還算曆經考驗的,有些開源的,不出問題還好,一出問題,查找原因麻煩的一比。當然關鍵還是看您的功能需求,如果沒有太多花哨的界面要求,mfc其實足矣,而且各種案例還特別多


分享到:


相關文章: