• <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>

            歲月流轉,往昔空明

            C++博客 首頁 新隨筆 聯系 聚合 管理
              118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks
            最近用了一段時間的wxWidgets。
            基本上主流的界面庫也就算用的差不多了。
            這里拿一個表格對這些界面庫做一個比較直觀的比較。

            界面庫名稱
            接口設計
            界面編輯器
            高級布局功能
            平面繪制
            平臺兼容性
            語言支持
            IDE兼容性
            視圖-模型分離機制
            運行時
            其它
            Windows Forms
            接口優秀。C++下使用CLI擴展,其它語言為原生支持。
            界面編輯器完整,包括布局、屬性、消息關聯的完整設置。不可預覽。
            Table Layout,Splitter Layout,Flow Layout等,Anchor和Dock機制。多分辨率界面下表現良好。
            GDI+,面向對象的2D繪制接口,使用簡便。
            需要.Net平臺支持。WIndows或Linux(Mono,非官方支持),支持Windows CE
            C++/CLI, 支持.net的語言。
            僅VS。
            布局和視圖方案建立在代碼中。部分組件支持Model-View架構。
            需要部署對應的.net
            商業協議
            MFC
            基于宏和虛函數,使用特殊格式注釋,使用自定義的RTTI系統。類接口設計優良。通過回調函數和虛繼承重載調用客戶代碼。
            基于資源編輯器,僅能對空間基本布局和少量屬性進行調整。不可預覽。
            缺乏高級布局功能,多分辨率需要是手工或程序中調整。
            GDI及GDI封裝,可選GDI+
            Windows,Windows CE
            C++ Only,
            支持COM時可以實現Binary級別復用。
            僅Visual Studio
            使用資源保存控件的基本控件布局,提供Doc-View機制和控件數據交換支持視圖分離。
            需要部署MFC運行時庫。
            商業協議
            WTL
            基于模板和虛函數。類接口類似于MFC。需要使用多重繼承。通過模板特化和回調函數與客戶代碼交互。
            同MFC
            同MFC
            同MFC
            同MFC
            同MFC,對COM的支持比MFC完善很多。
            Visual Studio,Windows下支持標準的C++編譯器。
            使用資源文件保存空間布局。

            自由協議
            wxWidget
            宏,自定義RTTI。使用回調函數與用戶代碼交互。
            無官方界面編輯器。可使用第三方界面編輯器。部分編輯器具有完整的所見即所得功能,且具有預覽能力。
            使用Sizer實現多分辨率的布局。功能偏弱。
            wxDC等。
            Windows,Linux,Unix,MacOS等
            C++, .NET, Python,
            Lua,
            Ruby等
            良好的編譯器兼容性,缺乏IDE繼承。
            可以將界面屬性生成到代碼中,也可以使用XML格式保存。
            wx的動態鏈接庫或靜態鏈接。
            自由協議
            Qt
            使用宏和自定義的RTTI。使用Singal-Slot機制實現用戶代碼交互。可通過繼承實現擴展。
            Qt Designer,具備完整的所見即所得編輯功能。可預覽界面。
            具備完整的布局功能。多分辨率/多平臺下表現良好。
            QCanvas等。
            Windows,Linux,Unix,MacOS等。
            C++,Python等
            可集成到Eclipse和VS
            使用資源文件保存界面信息。部分組件具備Model-View-Delegate架構
            qt的動態鏈接庫。
            開源協議+商業協議
            GTK+
            使用signal-slot機制完成用戶代碼交互。
            GLADE,具備所見即所得的界面編輯功能
            Layout Containers,具備較完整的布局能力。
            GTK Graphics Context
            Windows,Linux,Unix,MacOS等。 C,C++,Python,.NET等。
            (暫時未知)
            使用代碼完成界面設置。部分組件具備Model-View架構。
            GTK Runtime
            開源協議

            此外,除了WTL外,其余各界面庫均有完整及時的文檔和手冊,因此比較項中不再指明。
            回帖中有人指出國際化問題的比較,事實上MS的產品和開源對于國際化的解決方法是不同的。但是都可以比較方便的解決國際化問題。
            posted on 2009-01-06 18:09 空明流轉 閱讀(10989) 評論(12)  編輯 收藏 引用

            評論

            # re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方綜合比較 2009-01-06 19:05 qtopia
            Nokia 最近推了 Qt Creator,是較好的IDE環境  回復  更多評論
              

            # re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方綜合比較 2009-01-06 19:05 t
            博主還可以增加一欄“國際化支持”  回復  更多評論
              

            # re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方綜合比較[未登錄] 2009-01-08 12:48 kenlistian
            我覺得wxwidget是不錯的選擇。  回復  更多評論
              

            # re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方綜合比較 2009-01-11 20:25 www
            wxwidget做簡單的還可以, 做復雜的界面,嘿嘿,那就麻煩了. win下還是MFC最爽.  回復  更多評論
              

            # re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方綜合比較 2009-01-19 00:49 ArenAK
            有沒有哪一個是作者比較喜歡用的呢,及其原因?  回復  更多評論
              

            # re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方綜合比較[未登錄] 2009-01-19 16:35 六水
            寫的好~  回復  更多評論
              

            # re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方綜合比較 2009-02-05 11:08 空明流轉
            @六水
            我就知道你是友情贊助的。。。  回復  更多評論
              

            # re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方綜合比較[未登錄] 2009-02-11 22:35 六水
            這你也知道?  回復  更多評論
              

            # re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方綜合比較 2009-02-25 10:19 aladdina
            wxWidgets的代碼質量不是很高,有一些比較初級的bug。我用過一段時間的wxWidgets,自己測試沒問題,但是用戶總會發回一些crash report。

            另外,wxWidgets和Qt除了對于一些常見應用,比如窗口、DC的封裝之外,還提供了很多系統接口的封裝,比如clipboard, thread, socket等。

            Qt有Qt Creator作為IDE,工程項目文件可以跨平臺,另外,工程文件也可以用qmake轉成平臺無關的makefile。準備最近有空試試Qt,個人覺得商業代碼質量還是要稍微好一些。

              回復  更多評論
              

            # re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方綜合比較 2009-09-18 12:09 idol
            gtk 哪有 signal-slot機制,用的明明是 callbacks  回復  更多評論
              

            # re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方綜合比較 2010-08-29 23:31 clever101
            wxWidget可以使用Codeblocks這個IDE的。  回復  更多評論
              

            # re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方綜合比較 2010-08-30 01:08 空明流轉
            @clever101
            是的,我只是沒有指明是哪個編輯器而已。。。  回復  更多評論
              

            色综合久久天天综线观看| 久久久一本精品99久久精品88| 国产精品久久一区二区三区 | 99久久综合狠狠综合久久| 99久久精品九九亚洲精品| 少妇人妻综合久久中文字幕| 国产成人久久激情91| 亚洲欧洲久久av| 99热成人精品热久久669| 久久一区二区免费播放| 久久人人爽人人爽人人AV东京热 | 精品人妻伦一二三区久久| 亚洲国产日韩欧美久久| 久久91精品国产91久久小草| 久久伊人精品一区二区三区 | 久久久久久久波多野结衣高潮| 99精品久久久久中文字幕| 久久免费视频一区| 色成年激情久久综合| 国内精品伊人久久久久av一坑 | 精品国际久久久久999波多野| 久久久久久午夜成人影院| 2021精品国产综合久久| 亚洲精品乱码久久久久久久久久久久| 一级做a爱片久久毛片| 99国产欧美久久久精品蜜芽 | 亚洲国产精品无码久久一线| 久久精品无码免费不卡| 久久九九有精品国产23百花影院| 亚洲精品无码专区久久久| 国产精品久久久久久久久软件| 93精91精品国产综合久久香蕉| 国产精品99久久久久久人| 久久精品国产亚洲av麻豆色欲| 久久午夜夜伦鲁鲁片免费无码影视| 伊人热人久久中文字幕| 亚洲精品高清国产一久久| 超级碰久久免费公开视频| 久久久久免费精品国产| 99久久久久| 久久亚洲高清综合|