• <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()可以傳遞任何的參數。他的功能非常的強大。可以直接大傳遞信號給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++/ 編程語言工具使用及設計
            久久久久亚洲AV片无码下载蜜桃 | 亚洲va久久久久| 久久综合鬼色88久久精品综合自在自线噜噜 | 欧美久久一区二区三区| 久久99精品国产麻豆宅宅| 久久亚洲精品中文字幕三区| 久久午夜综合久久| 久久99精品国产麻豆| 久久嫩草影院免费看夜色| 久久精品国产99久久久| 亚洲精品综合久久| 狠狠久久综合伊人不卡| 久久这里只有精品18| 久久久久av无码免费网| 久久人人爽人人澡人人高潮AV| 97久久综合精品久久久综合| 7777精品伊人久久久大香线蕉 | 国产精品VIDEOSSEX久久发布| 一本色道久久99一综合| 欧美粉嫩小泬久久久久久久 | 久久久久亚洲AV无码专区首JN| 久久国产精品国语对白| 99久久精品免费看国产免费| 99久久国产热无码精品免费| 久久人人爽人人爽人人片av高请| 久久亚洲熟女cc98cm| 国产一区二区久久久| 伊人久久大香线蕉无码麻豆| 色婷婷久久久SWAG精品| 武侠古典久久婷婷狼人伊人| 精品久久久久中文字幕一区| 久久国产V一级毛多内射| 久久久久亚洲av毛片大| 亚洲精品午夜国产va久久| 思思久久好好热精品国产| 无码人妻久久一区二区三区蜜桃| 久久996热精品xxxx| 亚洲а∨天堂久久精品| 亚洲色欲久久久综合网| 麻豆成人久久精品二区三区免费| 精品熟女少妇av免费久久|