現在大部分公司客戶端的開發基本上都選用Qt,很多以前用mfc寫的軟件也慢慢的用Qt重構,那么選Qt的原因是什么?Qt相比mfc的優勢又是什么呢?我認為有以下幾個原因:
首先Qt跨平臺,除了正常軟件在多個平臺下能運行外,漂亮國對我國圍追堵截的今天,跨平臺這個特性對我們很重要,要在多個平臺下運行同一個軟件,避免對我們的卡脖子;
其次QT做的GUI開發要比MFC要好,并且QT界面庫支持CSS,界面設計更方便更美觀,界面設計美工可以直接寫;
面向對象的特性體現的比MFC明顯,在命名,繼承,類的組織等方面保持了優秀的一致性,代碼寫起來比較優雅;
還有就是個人感覺Qt上手比mfc要快很多,要是不太麻煩的功能,用Qt實現起來比較方便,對新手更友好,我覺得這也是選擇Qt的一個很重要的原因,Qt現在功能越來越強大,做非GUI開發也挺好。再說了微軟已經停止對mfc的更新了,這也是軟件公司換到其他庫的一個原因吧。
話說得好,MFC==沒飯吃,不論你是否承認,都已經2021年了,在國內的大行情下,PC端軟件開發整體處于沒落階段,上古界面庫MFC早已經過時了,但是它并沒有滅絕,在很多軍工、自動化領域都隨處可見MFC的身影。
如果新項目選型C++開發,這里推薦選擇Qt庫,而不是MFC(當然其他的類似Duilib等第三方庫也可考慮,限于篇幅,這里不再介紹)。
Qt作為C++界面開發的首選界面庫,它API設計優雅、跨平臺支持、官方文檔齊全,持續維護更新,對新手超級友好。新版本的QSS可以讓我們像Web開發中的CSS那樣繪制客戶端軟件樣式。
但是,對于C++而言,做界面真的不是它的強項啊。C#、Electron難道都不夠香嗎?就連失傳多年的Delphi開發起來我感覺也很贊啊。
那么初次接觸C++界面開發, 要不要在MFC上花費太大功夫呢?下面談談自己的觀點:
愛的BCGSoft用戶,我們非常高興地宣布BCGControlBar Professional for MFC和BCGSuite for MFCv25.1正式發布!我們為您提供開發桌面應用最簡單、最有效的方法!接下來幾篇文章將對這個版本的新功能一一進行介紹,讓您對BCG這個控件有一個全新的認識和了解。需要最新版的可以點擊這里【BCG下載】
1. 實現基于Visual Manager的顏色主題。SetVisualManagerTheme和IsVisualManagerTheme方法已添加到CBCGPWinUITiles類中。
2. WinUI Tile圖像垂直對齊:將SetImageVertAlign和GetImageVertAlign方法添加到CBCGPWinUITile類中。
1. 新的虛擬方法CBCGPGridItem :: ExportToHTML允許為自定義網格項和合并單元格的HTML導出。例如,您可以將嵌入的網格單元格圖表保存為外部圖片,并在HTML代碼中添加對此文件的引用。
2. 新的虛擬CBCGPGridCtrl :: GetRowNumber允許自定義行編號。
3. 新方法CBCGPGridColumnsInfoEx :: AddHeaderItem返回一個指向頭項的指針,允許自定義多行和合并頭。
4. 擴展支持CBCGPEdit :: BrowseMode_PasswordPreview標記具有CBCGPEdit::BrowseMode_PasswordPreview flag的in-place編輯器。
1. 以下新的虛擬方法添加到CBCGPVisualManager類:
2. 改進Office 2013深灰色主題。
3. CBCGPVisualManagerScenic:滑塊縮放按鈕現在根據當前DPI縮放。
1. Slider控件:添加縮放按鈕。啟用縮放按鈕并將HasZoomButtons方法添加到CBCGPGridCtrl。此外,我們向“縮放”滑塊添加了縮放按鈕,該滑塊位于內置的Ribbon Backstage“Print”頁面。
2. 實現在Shell控件中指定系統用戶輸入的功能:EnableSystemUserInput和IsSystemUserInputEnabled方法添加到CBCGPShellBreadcrumb,CBCGPShellList和CBCGPShellTree類中。系統用戶輸入的示例將是對話框,以請求密碼或提示用戶插入CD或軟盤。
3. 在calendar的week days中新增自定多個字符的功能:SetMaxWeekDayCharacters和GetMaxWeekDayCharacters方法已添加到CBCGPCalendar和CBCGPDateTimeCtrl類中。
4. CBCGPEdit :: EnablePasswordPreview有一個新的可選參數'bAllowEditingInPreview'。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。