• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            戰魂小筑

            討論群:309800774 知乎關注:http://zhihu.com/people/sunicdavy 開源項目:https://github.com/davyxu

               :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              257 隨筆 :: 0 文章 :: 506 評論 :: 0 Trackbacks

            1. Qt這個C++的圖形庫由Trolltech在1994年左右開發。它可以運行在Windows,Mac OS X, Unix,還有像Sharp Zaurus這類嵌入式系統中。Qt是完全面向對象的。

            2. Qt的架構明顯是經過精心設計的面向對象的。Qt因此在命名,繼承,類的組織等方面保持了優秀的一致性。你只需要提供唯一一個方法的參數,僅此一個。在不同的類中調用方式也是有很強的連貫性。返回值也很有邏輯性。所有一切達到了簡單和強大的和諧統一。一旦你使用了其中一個類,其他的類也就觸類旁通,因為他們是一致的。

            3. Qt不強制使用任何設計模式。如果你認為恰當,使用Document/view沒有任何問題。不使用也沒有任何問題。

            4. MFC是事件驅動的架構。要執行任何操作,都必須是對特定的消息作出響應。Windows對應用程序發送的信息數以千計,遺憾的是,要分清楚這些分繁蕪雜的消息是很困難的,并且關于這方面的文檔并不能很好的解決這些問題。
            Qt的消息機制是建立在SIGNAL()發送和SLOT()接受的基礎上的。這個機制是對象間建立聯系的核心機制。利用SIGNAL()可以傳遞任何的參數。他的功能非常的強大??梢灾苯哟髠鬟f信號給SLOT(),因此可以清楚的理解要發生的事情。一個類所發送的信號的數量通常非常的小(4或者5),并且文檔也非常的齊全。這讓你感覺到一切盡在掌握之中。SIGNAL/SLOT機制類似于Java中listener機制,不過這種機制更加輕量級,功能更齊全。

            5. Qt擁有非常簡單而又不失強大的layout機制,布局靈活多變
            Qt還提供了一個圖形用戶工具,Qt Designer,可以用來幫助建立用戶界面??梢孕薷乃褂玫娜魏慰丶膶傩?。不用將他們放在嚴格的位置,可以通過layout完美的組織他們。這個工具所產生的代碼我們是可以實際上閱讀并且可以理解的。生成的代碼單獨放在一個文件里,在編程的同時,你可以隨心所欲的多次重新生成用戶界面。
            Qt Designer可以讓你完成許多在MFC中不可能完成的任務,比如用預先填好的生成listview,在每個tab上用不同的view來使用tab 控制。

            6. 使用MFC,一部分開發過程要依靠“resources”,在很多的案例中開發者必須使用他們。這樣會導致如下的后果:出了Visual Studio,你很難使用其他的工具來完成開發。
            資源編輯器僅有有限的功能,比如:通過Dialog編輯器不可能改變所有的屬性,一些屬性可以改變,另一些屬性則不可能改變。(譯者注:下面還有兩條陳述MFC缺點的實例,但我感覺這些已經夠說明問題了,暫時刪節不譯)
            然而Qt并沒有資源的概念,這就解決了以上所提到的問題。Qt提供了一個腳本使得能將編入你的代碼。對于界面設計,Qt Designer則創建了可讀的代碼。

            7. Qt的文檔完備且詳細的覆蓋了Qt的方方面面,竟然僅有18M。每一個類和方法都被詳盡描述,巨細靡遺,舉例充實。通過Trolltech公司提供的鏈接或者是Qt Assistant工具,可以方便的從一個類或者方法跳轉到其他的類。文檔還包含了一個初學者教程和一些典型應用的例子

            8. 在發布基于MFC的軟件時,必須依靠存在于客戶電腦上的MFC。但是這是不安全的,同樣是MFC42.dll,可以基于相同的庫得到3個不同的版本。通常,需要檢查是否擁有正確的MFC42.dll版本,如果不是,就升級它。但是升級MFC42.dll會改變很多軟件的行為。
            Qt則沒有這個風險,因為Qt壓根就沒有“升級整個系統”這個概念。

            9. Qt 完全支持CSS2,這使得Qt應用程序,無論是美化還是換膚,實現起來都相當簡單

            10. Qt自帶翻譯器,可以隨意切換軟件語言

             

            在使用Qt動態鏈接庫的情況下,根據LGPL協議規定,是可以閉源發布任何形式的程序的。

            參考鏈接:

            來自Qt官方論壇的討論:http://qt-project.org/forums/viewthread/2428

            博客鏈接:http://devbean.blog.51cto.com/448512/313477

             

             

            轉自:http://blog.csdn.net/superzhaifd/article/details/18224923 翟冬狼_Trump

             

            本人較喜歡第二點: 不使用任何設計模式構建底層. 設計模式只是思想, 也是羈絆. 大量使用只會讓系統臃腫.

            posted on 2014-01-14 11:53 戰魂小筑 閱讀(1872) 評論(0)  編輯 收藏 引用 所屬分類: C++/ 編程語言 、工具使用及設計
            亚洲va中文字幕无码久久不卡| 婷婷综合久久狠狠色99h| 亚洲国产成人久久精品动漫| 久久久久久久久久久| 久久久这里有精品| 久久亚洲精品成人无码网站| 热RE99久久精品国产66热| 欧美久久综合九色综合| 亚洲精品国产自在久久| 久久人人爽人人爽人人片AV高清| 久久亚洲精品国产亚洲老地址| 久久久久99这里有精品10| 国内高清久久久久久| 国产麻豆精品久久一二三| 青青青青久久精品国产h| 久久成人精品| 亚洲中文字幕久久精品无码喷水| 无码精品久久久久久人妻中字| 久久精品www人人爽人人| 97久久天天综合色天天综合色hd| 777久久精品一区二区三区无码| 国产精品成人久久久久三级午夜电影| 久久久久无码专区亚洲av| 久久久国产99久久国产一| 国产午夜福利精品久久2021| 国产三级观看久久| 99久久夜色精品国产网站| 国内精品久久久久影院免费| 欧美激情精品久久久久久久九九九| 久久久午夜精品福利内容| 久久精品国产一区二区三区日韩| 欧美成a人片免费看久久| 久久精品国产第一区二区三区| 国产免费福利体检区久久| 日本久久久久亚洲中字幕| 久久99精品久久久久久不卡| 男女久久久国产一区二区三区| 久久99精品久久久久久9蜜桃| 久久久久久久久久久久中文字幕 | 久久人妻少妇嫩草AV无码蜜桃| 超级碰碰碰碰97久久久久|