導航:首頁 > 編程語言 > qt開發window程序

qt開發window程序

發布時間:2023-10-01 11:04:36

A. 做windows界面,用QT還是MFC

使用Qt吧,前提是在這兩者下進行選擇。既然提到了Qt和MFC,我想題主肯定是一個C++的開發者。其實,在我看來,Windows下開發界面程序,還有很多其他的選擇。下面我就連同Qt、MFC一起來介紹一下幾種常用的界面開發框架。

其實選什麼學習還得根據自身的需求。語言不分好壞在於人。精通才是正道。當下window下流行的編程語言,有vb,mfc,c sharp,。如果沒啥限制,建議第三個吧,簡單粗暴上手快,開發效率也高。如果公司或硬體限制必須用mfc或其他語言,那學就是。都是微軟的產品,我開發項目都用過,知識通用。至於qt封裝是全,相對微軟自家的產品,用的人少些。問題多靠自己解決

具體選擇QT還是MFC,這要根據題主的需求來決定。如果你入職一家公司,做的是老項目的維護,而原有項目是採用MFC來開發,那麼當然,你沒得選,只能老老實實的繼續MFC,雖然這玩意寫起來真的很虐心。如果是一個全新的項目,那麼還是首選Qt。

下面根據自己的認識,推薦幾款Windows下開發界面開發常用技術。

1)Qt

號稱可以跨平台,語法結構簡單清晰。面向對象的特性體現的比MFC明顯。代碼寫起來比較優雅,也就是說上手會快一點,最新版本支持的特性QML,可以讓我們用JS,CSS來繪制客戶端界面,寫起來效率也是蠻高的。缺點就是文檔可能沒有MFC那麼齊全,基本只有官方的官網和Demo,而且發布包體積會比較大。

2)MFC

全稱Microsoft Foundation Classes(微軟基礎類庫),可以算的上是上古產品了吧,目前除了維護老項目,應該很少有團隊使用MFC來開發了吧。基本上MFC == 「沒飯吃」。建議如果你是初學者,界面開發還是不要選擇MFC了。它唯一的好處就是微軟的MSDN文檔比較齊全,相關論壇和那種問答的資源要多很多,一般初學者遇到的問題都可以看到前輩們的解決方法。不過目前它已經被其親爹微軟拋棄了。

3)Duilib

目前已開源,是一款強大的界面開發工具,可以將用戶界面和處理邏輯徹底分離,極大地提高用戶界面的開發效率。唯一不足的是原開發者已經停止維護,很多都是個人在維護,出了問題的話,只能自己去摸索,Debug。下面是一款個人使用Duilib開發的迅雷播放器界面效果。

最後附上一些基於Duilib開發的軟體不完全列表(歡迎大家補充指正):

網路: PPS 愛奇藝 網路殺毒 網路衛士 91助手

騰訊: 微信 企業微信

阿里: 釘釘 支付寶安全控制項 PP助手

書生雲: 書生企業雲盤

微軟: 微軟壁紙

網易: 易信 雲音樂 荒野行動PC版

華為: 華為網盤

金山: 金山快盤

京東: 咚咚

cctv: cbox

酷我: 酷我音樂盒

蘑菇街: TeamTalk

火絨: 火絨安全軟體

盤古: 盤古越獄工具

順網: 網維大師 91y

網狐: 網狐經典版

墨跡風雲: 墨跡天氣

zoomcloud: Zoom 視頻會議

搜狗: 搜狗手機助手

沃通: 沃通代碼簽名工具

驅動人生: 驅動人生 人生日歷

維棠: 維棠

深圳市北鬥智研 科技 : 智能辦公助手 ERP管理系統

4)Electron

這玩意應該是這幾年才火起來的吧,宣城自己可以通過使用JavaScript、HTML和CSS構建 跨平台 的桌面應用程序,讓人們感覺 JS 真的有一統天下的趨勢(Web、移動端、PC客戶端)。開發效率真心的高,不過貌似商用上還不是特別的多,典型的成功案例目前知道的有VSCode,Atom。

兩者之間二選一的話肯定選Qt了,如果再考慮開發效率與運行效率的話,可以在Python平台上使用Qt的Python綁定庫PyQt,再配合C++,主體用Python語言,界面部分用PyQt搭建,核心演算法部分用C++封裝成動態庫DLL文件,在Python里去調用。這樣是一個不錯的方案,Python部分縮短了開發時間,C++部分保證了運行速度,只是前提是,你要會用C++寫DLL,在Python里會調用DLL。

作為做了近2兩年windows application的人來說,我直接說Qt!首先我主要做pc和下位機通信的app,如串口、tcpip、匯流排類等。選qt理由如下:【僅從我的經歷來講】

1、Qt開發效率高。我第一個項目前幾個項目用的MFC,平均時長3個月,一個軟體80%的時間都放在界面上去了。然後後面開始使用Qt,一個月能做好幾個app沒壓力,界面布局很方便,不用像MFC去一個一個控制項拖動。

2、Qt庫簡單易懂。個人的感覺就是MFC與win api聯系太大了,你要玩轉MFC,必須要把windowsapi相關知識搞得明明白白的。而Qt庫把每一個功能都封裝得很好,很容易去使用,不需要沒事就網路怎麼用。

3、MFC已經在淘汰邊緣了。到如今Qt還在不斷更新,我目前使用的是Qt5.9。在平時招聘的時候,也很少看到有公司讓你專職做MFC,要麼Qt,要麼C#。

4、Qt跨平台。我當初換Qt的一個原因還是,我以後如果不做windows了可以換linux上位機,Qt可以做到很好的跨平台,而MFC不行。

兩者沒有好壞之分,需要看應用場景。如果是界面要求不高,穩定性和效率要求高的工業軟體,MFC是最好的選擇。如果是界面要求美觀,跨平台使用,QT是最好的選擇。但是要注意的是QT企業用是需要授權費的。另外,windows上的界面還有其他選擇wpf,direct ui等。這里著重提一下direct ui,目前可以找到比較好的就是ilib這個界面庫,開源穩定易用高效。關注我一起探討呀!

我們來簡單比較一下QT和MFC。

1.開發速度

整體來說可能MFC會快捷一些,因為windows平台的開發工具大多很智能,因為立足於windows的開發人群很廣,從菜鳥到專業人士,但是QT由於基於Linux,可用的開發工具不多,大都比較專業,多是第三方產品,而且集成度不大,第三方庫也沒有MFC得多,從這一點MFC略勝一籌,但是QT自從被Nokia收購後,官方發布了跨平台集成開發環境QTCreator,所以之後走向就不好說了,個人總體感覺QT Creator和VS.net差距比較大,還需改進。

但是從庫本身來說QT集成的功能較MFC龐大,而且使用的封裝技術信號和槽也是比較受到贊許的,比如QT Script為QT提供嵌入式腳本,QT界面庫支持CSS,所以QT做出來的界面比MFC要好,而且比較容易,MFC就需要藉助第三方庫了。

因為MFC是淺層封裝(最新的2008 sp1加入了BCG的高級界面庫,可能有所改善)windows SDK,以降低使用windows SDK引起的開發效率的降低,和開發難度的增加。

所以QT庫是比MFC優秀的,兩個庫都經受了時間的考驗,穩定性都很高,Bug幾乎沒有。

2.運行效率

MFC由於其淺層封裝的特點,所以運行效率是比較高的,加上vc對windows的針對性優化,整體性能是比較高的,但是如果加入第三方庫就不敢保證了。

QT因為庫比較龐大,封裝層次較深,所以運行效率較MFC為低,但是在現在的機器配置下,C#大家都不介意了,這些會引起人們的介意嗎?

3.學習難度

QT的封裝哲學比較明晰,和系統隔離得比較好,門檻不高;

MFC較難精通,因為深入開發之後SDK還是要了解的。

必須Qt啊,跨平台,還有鬼知道項目以後要不要跑Linux和嵌入式設備上!界面簡單的話,用qml開發,可以直接移植到嵌入式設備上去,還可以把編寫邏輯的程序員和界面設計師分離出來!mfc現在微軟都放棄更新維護了,mfc開發界面很麻煩的,除非老項目要維護,不然不建議再用mfc做新項目了!Qt的信號與槽很贊,比mfc的回調函數好用多了!

mfc底層太復雜了,但資料多,開源代碼多。

qt底層可能好點,但資料和整個開發環境肯定不如vs系列。

微軟精力不在mfc上面了,而qt則要在競爭中求存活。

用什麼看開發習慣,熟悉哪個用哪個。有困難找我

B. 想做windows界面程序,應該mfc還是qt或者其他,優勢或者差別是什麼

在win平台 無論是開發效率還是運行時效率當然是MFC了,,QT相較於MFC最大的優勢在於跨平台、嵌入式開發(手機)。但windows系統專門針對性對MFC進行優化、淺層封裝,快,是理所當然的!再加上visual studio這等IDE開發工具神器輔助,選用MFC應該是比較明智的。

閱讀全文

與qt開發window程序相關的資料

熱點內容
word文件夾前面有個符號 瀏覽:350
把word轉換成語音 瀏覽:220
linuxfile文件 瀏覽:454
如何用網路打普通電話 瀏覽:463
linux進程打開的文件 瀏覽:134
新購u盤無法儲存文件 瀏覽:553
5s要不要升級ios93 瀏覽:926
小米手機助手怎麼關閉自動升級 瀏覽:24
外星人能不能升級到win10系統盤 瀏覽:652
加入java信任站點 瀏覽:486
好用的急救知識app 瀏覽:524
什麼是網路適配器驅動文件名 瀏覽:717
吉林文件箱多少錢 瀏覽:113
ae模板版本 瀏覽:204
手機qq步數功能在哪裡 瀏覽:721
c程序設計04737 瀏覽:403
女孩什麼年齡學編程 瀏覽:976
安慶如何做網路營銷推廣 瀏覽:620
什麼是數據標准化 瀏覽:708
aecc三維功能實例視頻教程 瀏覽:719

友情鏈接