A. MFC程序向QT程序的移植,希望給一些思路
多文檔可以 QMainWindow QMdiArea QWidget QApplication,用這些來替代,至於文檔類,自己實現吧,沒有現成的Doc-View框架,不過有Model View框架,概念不太一樣
窗口(QWidget及其派生類)的刷新在paintEvent()函數中實現,字元串用QString,默認Unicode編碼
多語言參考linguist 以及QObject::tr() ,具體的自己去看文檔吧,這些信息足夠你找到入口了
B. QT跟MFC的區別QT可以調用MFC的東西嗎
親,MFC全名微軟體基礎類庫,Microsoft Fondation Classes。是一個微軟公司提供的類庫(class libraries),以C++類的形式封裝了Windows的API,並且包含一個應用程序框架,以減少應用程序開發人員的工作量。其中包含的類包含大量Windows句柄封裝類和很多Windows的內建控制項和組件的封裝類。是不能被QT所調用的。
C. QT和MFC的優劣
QT和MFC的優劣:
(1)開發速度
就整體而言,MFC可能會快捷一些,因為Windows平台的開發工具大多很智能,因為立足於Windows的開發人群很廣,從菜鳥到專業人士(開發人員一多,技術參考就多,周圍可以咨詢問題的人就多)。
相比較而言,Qt基於linux,可用的開發工具不多,而且這些工具大都比較專業,多是第三方的產品,加上這些工具的集成度不高,支持的第三方庫也沒有支持MFC的第三方庫多,因而從這一點看,MFC略勝一籌。
不過,Qt自從被諾基亞公司收購後,官方發布了跨平台集成開發環境Qt Creator,之後的走向就不好說了,作者個人的總體感覺是Qt Creator和VS差距比較大,還需要改進。
(2)運行效率
MFC採用淺層封裝,運行效率比較高,加上VC對Windows進行了針對性的優化,因而整體性能是比較高的,但是如果加入第三方庫就不敢保證整體的高性能了。
Qt庫比較龐大,封裝層次較深,所以運行效率比MFC低,但是在如今主流計算機系統的配置下,人們還會介意這點性能差別嗎?
(3)應用范圍
如今Windows的普及率無人能及,MFC的使用人數自然就多,相比而言,Qt主要是Linux下的開發人員在使用。MFC不支持嵌入式開發(主要是指手機平台)。
而Qt有對應的支持模塊,雖然這一手機開發領域被Java碾壓,但總歸還是有Qt的使用空間。
(4)學習難度
Qt的封裝方式比較明晰,和系統隔離得比較好,作者個人覺得學習的門檻不高。而MFC則較難精通,因為深入開發之後還需要了解SDK,否則開發出的程序比較初級。
D. QT程序調用MFC的動態鏈接庫DLL
這個很難了,因為MFC有自己的初始化,這個一般是在程序啟動的時候完成的;而qt有自己的初始化,如果你強行加入MFC的初始化,應該也可以,但是麻煩而且醜陋.
建議你把Analyse模塊的邏輯抽出來,生出獨立的,不依賴於界面(無論是MFC還是QT)的純C++代碼,然後以QT為界面實現原來的邏輯,最後再跟GASOOH結合起來.
E. QT、MFC、vc++之間的關系
QT的強大在於其跨平台,單就windows而言,不會比MFC強勢。在NT下,qt的運行速度和資源佔用率都沒MFC好。
在Linux下就用Qt(C++)或者GTK(C,當然gtk也有c++的),在windows下就用MFC,跨平台就用前兩個。
Qt的封裝哲學較好,與系統關系低,門檻也低。而MFC想精通需要更多的時間和精力。
簡單的來說:QT和MFC都是類庫,VC有兩種理解,一種就是指用MFC編程;另一種指的是VC的IDE開發環境。
1、如果基礎好,比如剛學了C++想找個GUI庫來玩,也只是隨便玩玩,QT包裝很好,幫助文檔也很好,就直接用QT,出了某些奇怪的問題,也沒關系。
2、如果是想學好,想學得稍微深入,覺得QT就很難,還是先學VC,學好了基礎再用QT。QT的開發效率高是針對會用的人而言的。
3、如果有高人指導,或者環境很好,或者只用QT的很小一部分,那學QT就輕松很多了。
F. QT和MFC怎麼樣
1、語言本身
QT:跨平台,語法結構簡單清晰。面向對象的特性體現的比MFC明顯。代碼寫起來比較優雅,也就是說上手會快一點。
MFC:在Windows平台地位毋庸置疑,QT在windows下基本屬於非主流了。個人感覺MFC相較於QT是比較雜亂的,你可以看下MFC以及QT
的實例代碼,直觀上就可以了解了。並且要寫MFC必須要知道Windows的消息循環機制。而QT開始時並不需要了解Windows底層的東西。
2、學習資源
QT:基本上只有官方的官網和demo了,相關的開發論壇比MFC的少很多,畢竟敲MFC的人要多。
MFC:MSDN資源,對於初學者來說可能MSDN比較枯燥,相關論壇和那種問答的資源要多很多,一般初學者遇到的問題都可以看到前輩們的解決方法。
3、IDE以及開發配置
初學者應該是windows,對於MFC,一個Visual Studio就足夠了。QT,用QT Creator,配置也不會太麻煩。
個人建議:QT。
推薦《精通QT4編程》一書
G. qt程序調用mfc程序
不用弄成dll吧。
QT中的QProcess可以用來啟用外部程序的。應該就可以實現你要的功能。
H. 誰試過QT和Mfc 混合編程
我試過。在VS2010中安裝了Qt插件,然後就可以在MFC中插入Qt代碼了。
I. 在window平台下可以進行qt編程,那干嗎還要在linux下進行qt編程
因為windows下的是unix-like下移植的,就像matlab一樣,效率效果是不同的。而且你qt肯定需要混合編程吧,win下混合編程可搭配的程序都太殘了,、lisp到shell亦或perl和匯編、資料庫,沒一個能打的