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

            戰(zhàn)魂小筑

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

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

            C++的界面庫經(jīng)過幾天來的搜索,總結(jié)了下面幾種的優(yōu)缺點

            1. MFC

               優(yōu)點:VS2008以及VS2010的擴展確實很強大,特別是原生的窗口運行時停靠以及PropertyGrid確實很強大

               缺點:默認字體很模糊,無論你對MFC多了解,C++多熟悉,每次寫代碼時依然要重新熟悉代碼,更不用提分析別人寫的MFC代碼,一個字:亂。

            2. WTL

               優(yōu)點:Windows下有個最好的例子:Google Chrome

               缺點:缺乏設(shè)計器,文檔例子很少

            3. wxWidgets

               優(yōu)點:虛幻3編輯器在用(不是廣告),wxAUI的布局設(shè)計器很方便,Windows原生界面很舒服,各種功能封裝都很到位。

               缺點:布局沒有類似GTK+的Fixed絕對坐標方式(Windows SDK默認的左上角像素定位方式),在某些界面顯得設(shè)計麻煩。 動態(tài)鏈接庫多的嚇人,工程過于臃腫。

            4. Qt, GTK+

                據(jù)說Windows下不是很好用。

            5. DirectUI

                有很多個人封裝類似功能的庫。界面,代碼分離, 但99%都是收費

            6. C# Windows Form

                這是很好的選擇,語言方面可以用C++/CLI 免得轉(zhuǎn)換語言

               自由停靠功能可以使用WeiFenLuo.winFormsUI.Docking 非常簡單

            7. WPF

               有童鞋已經(jīng)使用MFC/C++通過加載XML顯示界面,不過通過資料顯示,WPF的控件很少,甚至連原生的PropertyGrid都沒有,設(shè)計器倒是很華麗

             

            總結(jié):界面庫的選擇最重要的一點就是看有沒有很好的設(shè)計器,這個是高效開發(fā)的重中之重。我尊重MFC,敬仰MFC,它作為C++的框架庫來說很不錯,但是對于界面設(shè)計還是過老了。我們開發(fā)的是產(chǎn)品,出的是程序,而不是研究MFC,怎樣用好MFC。

            posted on 2010-07-28 17:22 戰(zhàn)魂小筑 閱讀(25104) 評論(28)  編輯 收藏 引用 所屬分類: 界面 接口C++/ 編程語言

            評論

            # re: C++界面庫的抉擇 2010-07-28 19:06 GunsNRose
            Qt 現(xiàn)在挺不錯的,在WIN下也好用,新版的maya要用Qt來開發(fā)
            現(xiàn)在Qt可以使用LGPL協(xié)議來開發(fā),開發(fā)商用軟件不用怕了  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-07-28 19:10 老魚
            Qt除了發(fā)布時帶的DLL大點之外,其它方面完勝各GUI Kit。  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-07-28 19:23 right
            不是說QT的性能差強人意嗎?  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-07-28 20:13 空明流轉(zhuǎn)
            我咋覺得你這個比較都說煩了。
            不管從哪個平臺哪個角度,Qt都絕對是中規(guī)中矩的。
            如果跨平臺,絕對是Qt完勝。  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-07-28 20:43 yrj
            Google Chromium 只用了 WTL 的一點點東西,它有自己的 UI 體系  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-07-28 23:57 陳梓瀚(vczh)
            @空明流轉(zhuǎn)
            只有在少數(shù)極端的情況下,你才需要你的GUI程序跨平臺。你什么時候看見一個能用的C/C++寫的帶GUI軟件,可以在不用改代碼的情況下,兩邊都編譯的。  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-07-29 08:55 毛毛
            試試C++Builder的VCL吧,呵呵  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-07-29 08:56 戰(zhàn)魂小筑
            @陳梓瀚(vczh)
            跨平臺的GUI確實沒那么大需求,對于游戲的話,基本做到Windows和Mac已經(jīng)很不錯了  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-07-29 11:11 空明流轉(zhuǎn)
            @陳梓瀚(vczh)
            不是極端,而是需要,你就得用,親愛的。
            你只是不需要罷了。不代表別人就不需要。。。  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-07-29 11:30 老魚
            @right
            Qt并不慢,嵌入式都在用。況且就算慢點,恐怕用肉眼跟其它GUI Kit都區(qū)分不出來。Qt的圖形性能就不說了,Maya看中的就是它。跨平臺只是它附加的優(yōu)點,在Windows下Qt也是最好的GUI Kit之一。并不是簡單地要跨平臺就Qt,不跨平臺就非Qt。通常限制大家選擇Qt的幾個原因是:
            1. 已經(jīng)學(xué)會了其它圖形庫
            2. 要發(fā)布小巧的軟件,Qt帶的DLL太大了
            3. 會Qt的人少,招不到人
            4. Qt封裝層次太高,而軟件需要使用很多的平臺特性。  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-07-29 15:51 heguo
            如果不怕安裝.net4框架
            當(dāng)然wpf,其余的UI設(shè)計和wpf相比不是同一個高度級別的。  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-07-29 17:25 匿名的懦夫
            @陳梓瀚(vczh)
            Firefox?  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇[未登錄] 2010-07-29 18:25 姚冬
            如果開發(fā)語言選擇C++的話,QT 無疑是最佳選擇。
            性能一點都不差,尤其是 GraphicView系統(tǒng),支持硬件加速哦

            跨平臺是沒得說,PC平臺通吃,被Nokia收購后 ,手機平臺也占了一半了。

            特別是 signal/slot 系統(tǒng),非常完美的C++下的回調(diào)和事件通知架構(gòu),MFC的消息映射簡直是杯具。

            如果說QT有什么缺點,就是運行庫有點大,靜態(tài)鏈接也有 1.5Mb,動態(tài)則接近10M。但是如果你想寫個中等規(guī)模的軟件,比如 2-30萬行源代碼,那么就不是問題了。QT是更適合寫大程序的。  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇[未登錄] 2010-07-31 18:46 姚冬
            我用我的愚蠢了解QT的特性,謝謝各位  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇[未登錄] 2010-07-31 18:48 姚冬
            @陳梓瀚(vczh)
            只有在少數(shù)極端的情況下,你才需要你的GUI程序跨平臺。你什么時候看見一個能用的C/C++寫的帶GUI軟件,可以在不用改代碼的情況下,兩邊都編譯的。

            嚴重同意  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇[未登錄] 2010-08-01 19:43 kuafoo
            GUI 跨平臺很沒有意思  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-08-04 09:21 King Qiu
            @yrj
            同意
              回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-08-04 09:48 Benjamin
            應(yīng)用第一,用過了幾個后,你會發(fā)現(xiàn)其實實現(xiàn)原理都差不多  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-08-08 19:15 陳梓瀚(vczh)
            @匿名的懦夫
            @空明流轉(zhuǎn)
            一般來說,應(yīng)該為不同的操作系統(tǒng)設(shè)計不同的GUI,這樣才能讓不同操作系統(tǒng)的用戶都能感受到這個軟件的便利性。  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇[未登錄] 2010-08-26 12:57 Loaden
            @陳梓瀚(vczh)
            Code::Blocks就是跨平臺的,使用wxWidgets庫開發(fā)。  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇[未登錄] 2010-08-26 13:00 Loaden
            Qt并不適合個人開發(fā)小軟件的!
            Qt的最大缺點是LGPL無法靜態(tài)鏈接。
            這樣,你只能背著好幾十MB的DLL,這樣的程序發(fā)布出去,打包也要接近10MB。
            我想,這是無法讓人接受的!  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-09-17 20:34 俠客西風(fēng)
            以后會有一套非常優(yōu)秀的
            開源的,免費的
            全功能媲美商業(yè)directui的界面庫

            已經(jīng)有好多人研究viksoe的那套界面庫了,

            做了不少改進

            其實想想,如果qq界面庫那樣的,有一套開源的,

            vc做界面的麻煩也不會像現(xiàn)在這么多  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-10-27 17:36 天下
            WIN32API是最基礎(chǔ),是一定得精通的.
            MFC是必須掌握的.優(yōu)點是他的資源多.
            看情況你可以選擇一個界面庫,然后精通.
            目前完美的界面庫還不存在.
            項目上用MFC+Xtreme ToolkitPro 基本搞定一切.
            Xtreme ToolkitPro,網(wǎng)上破解一大把.
            帶一個專業(yè)的設(shè)計器,你們看著辦吧.


              回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2010-11-24 00:05 null
            @陳梓瀚(vczh)

            它的意義在于節(jié)省開發(fā)人員的精力,少學(xué)一種技術(shù),額。。。  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2011-03-28 23:21 阿布
            @姚冬

            扯淡,WIN32平臺的消息機制哪點悲劇了?不會用就別瞎說。
            signal/slot機制不是回調(diào),也就是信號觸發(fā)執(zhí)行某個過程的機制罷了——當(dāng)然不是用回調(diào),否則跨線程怎么解決?跟消息機制大同小異,看你吹的好像是什么了不起的東西一樣。
            qt 值得稱道就是就是跨平臺而已,其他跟MFC一個層次,別瞎吹噓了  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2012-02-17 14:19 mjy
            @姚冬
            Qt源碼包的QtCreator就能在不更改任何代碼的情況下在windows、MacOSX、Linux下完成編譯,并且運行正常。  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2012-02-27 17:42 marvin
            如果使用wpf,倒覺得telerik的控件不錯,我用過silverlight版的  回復(fù)  更多評論
              

            # re: C++界面庫的抉擇 2012-12-13 10:03 陳生
            如果你是C++客戶端界面高手,請加入我的團隊,我能讓你成就大業(yè)!QQ34707369  回復(fù)  更多評論
              

            尹人香蕉久久99天天拍| 91久久精品电影| 99久久婷婷国产一区二区| 99精品国产免费久久久久久下载| 亚洲精品国产成人99久久| 国产成人精品久久一区二区三区 | 久久影视国产亚洲| 四虎国产精品免费久久5151| 精品国产一区二区三区久久久狼| 99久久精品免费看国产一区二区三区 | 欧美性大战久久久久久| 精品国产青草久久久久福利 | 久久99精品久久久久久9蜜桃| 久久电影网一区| 久久精品www| a级毛片无码兔费真人久久| 91精品国产91久久久久久青草| 日本免费一区二区久久人人澡| 精品久久久久久久久久久久久久久| 国产精品gz久久久| 亚洲国产成人乱码精品女人久久久不卡 | 国产国产成人精品久久| 久久99精品国产麻豆宅宅| 精品久久人人爽天天玩人人妻| 久久久久亚洲AV无码去区首| 亚洲国产香蕉人人爽成AV片久久 | 99精品国产在热久久| 久久久国产精品福利免费| 久久久久久久综合综合狠狠| 亚洲日韩欧美一区久久久久我| 国产亚洲精久久久久久无码77777| 久久精品水蜜桃av综合天堂 | 久久精品国产久精国产果冻传媒 | 久久99国产精品久久99| 无码人妻久久一区二区三区蜜桃 | 久久九九久精品国产免费直播| 久久这里都是精品| 久久最新精品国产| 精品一二三区久久aaa片| 国产成人久久精品麻豆一区| 国产成人精品久久|