• <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 開(kāi)源項(xiàng)目:https://github.com/davyxu

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

            C++的界面庫(kù)經(jīng)過(guò)幾天來(lái)的搜索,總結(jié)了下面幾種的優(yōu)缺點(diǎn)

            1. MFC

               優(yōu)點(diǎn):VS2008以及VS2010的擴(kuò)展確實(shí)很強(qiáng)大,特別是原生的窗口運(yùn)行時(shí)停靠以及PropertyGrid確實(shí)很強(qiáng)大

               缺點(diǎn):默認(rèn)字體很模糊,無(wú)論你對(duì)MFC多了解,C++多熟悉,每次寫(xiě)代碼時(shí)依然要重新熟悉代碼,更不用提分析別人寫(xiě)的MFC代碼,一個(gè)字:亂。

            2. WTL

               優(yōu)點(diǎn):Windows下有個(gè)最好的例子:Google Chrome

               缺點(diǎn):缺乏設(shè)計(jì)器,文檔例子很少

            3. wxWidgets

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

               缺點(diǎn):布局沒(méi)有類(lèi)似GTK+的Fixed絕對(duì)坐標(biāo)方式(Windows SDK默認(rèn)的左上角像素定位方式),在某些界面顯得設(shè)計(jì)麻煩。 動(dòng)態(tài)鏈接庫(kù)多的嚇人,工程過(guò)于臃腫。

            4. Qt, GTK+

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

            5. DirectUI

                有很多個(gè)人封裝類(lèi)似功能的庫(kù)。界面,代碼分離, 但99%都是收費(fèi)

            6. C# Windows Form

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

               自由停靠功能可以使用WeiFenLuo.winFormsUI.Docking 非常簡(jiǎn)單

            7. WPF

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

             

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

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

            評(píng)論

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

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

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

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

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

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

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

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

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

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

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

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

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

            跨平臺(tái)是沒(méi)得說(shuō),PC平臺(tái)通吃,被Nokia收購(gòu)后 ,手機(jī)平臺(tái)也占了一半了。

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

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

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

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

            嚴(yán)重同意  回復(fù)  更多評(píng)論
              

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

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

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

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

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

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

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

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

            做了不少改進(jìn)

            其實(shí)想想,如果qq界面庫(kù)那樣的,有一套開(kāi)源的,

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

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


              回復(fù)  更多評(píng)論
              

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

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

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

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

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

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

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

            婷婷五月深深久久精品| 久久99国产综合精品免费| 蜜臀久久99精品久久久久久小说| 丰满少妇人妻久久久久久4| 亚洲人成电影网站久久| 久久这里有精品视频| 国产L精品国产亚洲区久久| 青青草国产精品久久久久| 国产精品一区二区久久国产| 欧美黑人激情性久久| 久久综合久久自在自线精品自| 欧美亚洲日本久久精品| 久久亚洲国产成人影院网站| 欧美一级久久久久久久大| 久久香蕉国产线看观看猫咪?v| 久久久久亚洲AV成人网| 欧美午夜精品久久久久久浪潮| 久久久这里只有精品加勒比| 欧美亚洲国产精品久久| 久久久久久国产精品美女| 久久综合给久久狠狠97色| 亚洲国产精品无码久久| 国产V亚洲V天堂无码久久久| 久久国产精品国产自线拍免费| 国产精久久一区二区三区| 怡红院日本一道日本久久 | 97精品久久天干天天天按摩| 国产亚洲欧美成人久久片| 久久亚洲AV无码西西人体| 久久综合九色综合网站| 久久国产精品偷99| 97久久婷婷五月综合色d啪蜜芽| 久久精品无码专区免费青青| 97久久精品人人做人人爽| 一97日本道伊人久久综合影院| 无码日韩人妻精品久久蜜桃| 久久99热国产这有精品| 久久夜色精品国产亚洲| 亚洲国产精久久久久久久| 久久久久亚洲AV成人网人人网站 | 亚洲国产成人精品无码久久久久久综合|