• <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。使用回調函數與用戶代碼交互。
            無官方界面編輯器??墒褂玫谌浇缑婢庉嬈鳌2糠志庉嬈骶哂型暾乃娂此霉δ?,且具有預覽能力。
            使用Sizer實現多分辨率的布局。功能偏弱。
            wxDC等。
            Windows,Linux,Unix,MacOS等
            C++, .NET, Python,
            Lua,
            Ruby等
            良好的編譯器兼容性,缺乏IDE繼承。
            可以將界面屬性生成到代碼中,也可以使用XML格式保存。
            wx的動態鏈接庫或靜態鏈接。
            自由協議
            Qt
            使用宏和自定義的RTTI。使用Singal-Slot機制實現用戶代碼交互??赏ㄟ^繼承實現擴展。
            Qt Designer,具備完整的所見即所得編輯功能??深A覽界面。
            具備完整的布局功能。多分辨率/多平臺下表現良好。
            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
            是的,我只是沒有指明是哪個編輯器而已。。。  回復  更多評論
              

            国产精品美女久久福利网站| 色综合久久综精品| 2020久久精品亚洲热综合一本| 热综合一本伊人久久精品| 久久中文字幕视频、最近更新 | 精品99久久aaa一级毛片| 国产成人精品久久亚洲| 三级韩国一区久久二区综合 | 欧美噜噜久久久XXX| 亚洲va久久久噜噜噜久久狠狠 | 国产成人精品久久亚洲高清不卡 | 久久亚洲中文字幕精品一区四| 天天爽天天狠久久久综合麻豆 | 久久久久一本毛久久久| 少妇高潮惨叫久久久久久| 国产AⅤ精品一区二区三区久久| 久久精品人妻中文系列| 精品国产一区二区三区久久| 香蕉99久久国产综合精品宅男自 | 国产精品美女久久久久av爽| 久久综合色老色| 91超碰碰碰碰久久久久久综合| 久久精品中文騷妇女内射| 国产午夜精品久久久久九九电影| 久久亚洲私人国产精品vA | 精品综合久久久久久88小说| 亚洲狠狠婷婷综合久久蜜芽| 久久久久国产亚洲AV麻豆| 99久久国产综合精品麻豆| 亚洲女久久久噜噜噜熟女| 狠狠人妻久久久久久综合蜜桃 | 国产伊人久久| 国产精品一区二区久久| 国产综合久久久久久鬼色| 久久亚洲国产精品成人AV秋霞| 亚洲伊人久久综合影院| 久久国产成人| 国产亚州精品女人久久久久久| 久久久久久国产精品无码下载| 狠狠色丁香婷婷综合久久来来去 | 久久久国产精品亚洲一区 |