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

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

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

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

            評論

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

            # 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,自己測試沒問題,但是用戶總會發(fā)回一些crash report。

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

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

              回復  更多評論
              

            # 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
            是的,我只是沒有指明是哪個編輯器而已。。。  回復  更多評論
              

            久久精品国产亚洲av麻豆蜜芽| 成人午夜精品久久久久久久小说| 久久久久久久综合综合狠狠| 久久久精品久久久久特色影视| 久久电影网| 国产69精品久久久久APP下载| 亚洲精品无码专区久久同性男| 亚洲日本久久久午夜精品| 国产成年无码久久久免费| 伊人久久大香线焦AV综合影院| 国产亚洲精久久久久久无码 | 国产精品热久久毛片| 亚洲精品乱码久久久久久不卡| 中文字幕日本人妻久久久免费 | 国内精品伊人久久久久av一坑 | 久久这里的只有是精品23| 久久久婷婷五月亚洲97号色| segui久久国产精品| 国产精品久久久亚洲| 日本五月天婷久久网站| 久久露脸国产精品| 久久久久国产一级毛片高清版| 亚洲国产精品成人AV无码久久综合影院 | 国产精品久久久久久久人人看| 精品久久久无码21p发布| 狠狠综合久久综合中文88| 久久99精品久久久久久hb无码 | 伊人热人久久中文字幕| 国产A级毛片久久久精品毛片| 亚洲国产天堂久久综合网站| 久久九九兔免费精品6| 狠狠色伊人久久精品综合网| 91久久精品无码一区二区毛片| 久久亚洲日韩精品一区二区三区| 一级a性色生活片久久无少妇一级婬片免费放 | 久久久久久夜精品精品免费啦| 亚洲欧美精品一区久久中文字幕| 久久99久久成人免费播放| 久久精品嫩草影院| 国产呻吟久久久久久久92| 丁香五月网久久综合|