看到puzzy3D的這篇文章,
作為編輯器程序員,不能不用QT啊
我是從VC1.5開始使用MFC.說實(shí)話,一直使到VC5,用MFC每寫一次ITEM TREE, 就忘一次。 畢竟不是全職寫UI的。UI只是工具,還是為數(shù)據(jù)編輯服務(wù).誰也不會三天兩頭和MFC沒完沒了.每次寫界面,都要重新學(xué)一遍.很苦痛...
后來用過一段DELPHI, BOALAND 對界面程序員貼切的考慮, 豐富的控件庫,使得用DELPHI寫功能界面程序變成一件輕松的事. 終于知道為什么MFC不好用,容易忘. 因?yàn)椋停疲迷O(shè)計(jì)沒有COMMON SENCSE. 不是人一般去想事情的思路.本來C++就是利用人類普遍思維習(xí)慣的模式來設(shè)計(jì)程序。而MFC偏要搞得很復(fù)雜。 一個DOC VIEW FRAME 就繞得亂七八糟. 和MFC年代久遠(yuǎn)有關(guān).也和MS從不給開發(fā)人員很體貼的設(shè)計(jì)有關(guān)。看看早年D3D就知道...
現(xiàn)在的項(xiàng)目全部是C++. 需要與OPENGL,D3D結(jié)合緊密. 所以需要使用MFC.一直在苦尋一種類似DELPHI那么好用,COMMON SENCSE足夠,又和C++,VC結(jié)合緊密的東西.曾經(jīng)看過wxWidget. 這是套和MFC差不多的界面開發(fā)庫. UNREAL3 編輯器就用的它.但是基本思路和MFC一樣。還缺少UI EDITOR 支持.
后來經(jīng)高人指點(diǎn)摸到了QT這里.
Qt是一個多平臺的C++圖形用戶界面應(yīng)用程序框架。它提供給應(yīng)用程序開發(fā)者建立藝術(shù)級的圖形用戶界面所需的所用功能。Qt是完全面向?qū)ο蟮暮苋菀讛U(kuò)展,并且允許真正地組件編程。 QT4后完全和VC8兼容.提供強(qiáng)大的UI EDITOR.編程思路異常COMMON SENCSE.用個標(biāo)準(zhǔn)的COMPOSITION模式就把所有界面組織到一起. 注意,是所有啊.實(shí)在方便得無以復(fù)加了. "信號"和"槽"的概念異常簡單.幾句話就把窗口操作與功能邏輯連接到一起.配合一些重載EVENT函數(shù),簡直好用得痛哭流涕!
QT來自LINUX,KDE的靈魂.完全跨平臺.而且使用各平臺的底層圖形API渲染. 在WIN上用WIN32 SDK.在LINUX上用X11.沒治了....還支持OPENGL,SQL,XML,...等等現(xiàn)成庫. 它會給人節(jié)省大量生命...
中文的信息點(diǎn): http://www.qiliang.net/qt.html
用晚了,才知道生命白白短了一截...
還有這篇:
很多關(guān)注QT,留了許多話,感謝感謝
從留言中得知QT版本間躍遷不很方便. 我只算一個QT新手. 所以不懂的還需要向大家請教.
我使用QT背景 .在 游戲開發(fā)中,尤其是3D游戲,和3D ENGINE開發(fā)中,編輯器是其重要環(huán)節(jié). 由于不是作為商品出售, 只作為IN HOUSE使用,所以開發(fā)中不象游戲本身對質(zhì)量和易用性要求那么嚴(yán)格。但是對于功能和時效性近乎苛刻。可以說編輯器實(shí)現(xiàn)了什么功能, 游戲就有什么功能。 經(jīng)常遇到,沒有為已經(jīng)開發(fā)出的3D ENGINE核心功能配套的編輯器, 而使得相應(yīng)功能無法正常使用。 沒有給美術(shù)提供手段, 引擎中再強(qiáng)大功能也發(fā)揮不了。國外3D游戲逐漸從技術(shù)開發(fā)轉(zhuǎn)為內(nèi)容開發(fā)。所以需要更強(qiáng)大快速的手段開發(fā)編輯器,來滿足爆炸增長的需求。
在這種時候,需要一種平易近人的工具。需要解決釘子,就會給把錘子。不是給個木頭把, 再給個鐵疙瘩。怎么鉆孔連接上也要下工夫。最后把錘子弄好,已經(jīng)累得暈了,釘子的問題都沒勁解決。舉個簡單例子,班門弄斧就當(dāng)笑話哈。QT里做什么都可以直接從Qwidget派生。QWidget本身已經(jīng)具有非常多通用功能。得到各種自定義窗口,或者把各種窗口組合成一個窗口,再與其他窗口用DOCK形式,SPLITTER等連接,種種可能性,QT只用一種composition模式,窗口套窗口,圓環(huán)套圓環(huán)娛樂城就OK了。強(qiáng)大的LAYOUT 自動布局引擎,也是LAYOUT套LAYOUT就可以,類似小孩子拼插板玩具。拼好小的,整成一個部件,再和其他部件拼接。 一個窗口, 往上丟一些CONTROL。然后把這個窗口再往其他夫窗口丟。之間的消息用SINGAL發(fā)一把,SLOTS 收一把。窗口所有可能的EVENT虛函數(shù)都是寫好的,用什么函數(shù)實(shí)現(xiàn)什么函數(shù)就可以了。當(dāng)然這都是些淺顯的東西,實(shí)現(xiàn)簡單的功能。但就這么簡單組合起來,類似WORLD EDITOR,SHADER EDITOR, LEVEL EDITOR之類的需要對特定數(shù)據(jù)進(jìn)行所見既所得的編輯,就夠用了。
跑題回復(fù):
# kevinlynx 發(fā)表于2006-12-17 12:56:22 IP: 211.83.255.*
| 暈~~暑假做了個嵌入式項(xiàng)目,我負(fù)責(zé)UI部分,才接觸到Qt。后來發(fā)現(xiàn) Qt 確實(shí)比較好用---Common sense啊~姚老大說了句心里話:MFC為什么難用?因?yàn)槿菀淄〈_實(shí),我的經(jīng)驗(yàn)跟姚老大類似,每次做UI,都要重新學(xué)一次MFC,異常痛苦!
感覺Qt和Swing都很common sense,基本上懂得了大致開發(fā)方式后,以后每次拿出來,都只需要查閱API文檔!實(shí)在很HIGH。 |
# puzzy3d 發(fā)表于2006-11-30 20:17:00 IP: 218.249.204.*
不
敢兒戲. 設(shè)計(jì)OO的人不是兒戲, 用OO的人也不是兒戲. 在C 時代,QUAKE 的作者有句名言: 最快的途徑,就是重寫一遍.
在C++時代,對于次世代3D游戲制作,UNREAL作者有句名言, 內(nèi)容制作的手段和和生產(chǎn)力必然會主導(dǎo)開發(fā)方向.
(所以倡導(dǎo)用更方便的工具寫編輯器.HOHO)
但沒有游戲開發(fā)者說OO是哪個游戲的救命稻草.或者OO用好了游戲就如何大賣.軟件問題解決好了對游戲來講充其量只是1/3.
所以并不是看輕看重的問題。 而是開發(fā)難度,可維護(hù)度, 開發(fā)速度/質(zhì)量,開發(fā)人員素質(zhì)和付出成本的平衡問題.
衡量軟件的標(biāo)準(zhǔn)似乎沒有這一條----它是否實(shí)現(xiàn)得優(yōu)雅/OO用得好.對于游戲,它是赤裸裸的娛樂產(chǎn)品。和DVD,KARAOK的性質(zhì)類似.
不知道銀行軟件,電信軟件,MIS, 財(cái)務(wù)軟件,嵌入式只做過SYMBIAN 3D ENGINE 也是用OPENGL接口. 在游戲制作業(yè),
可玩性和圖形效果是老大。3年,圖形技術(shù)硬件速度整個翻新. 每年SIGGRAPH,GDC 新PAPER層出不窮.
做為ENGINE提供商,在一定程度上考慮維護(hù)性是可以的。 但游戲開發(fā)是數(shù)據(jù)和內(nèi)容驅(qū)動. 生命期短暫.不需要從1.00 維護(hù)到9.00.
即便是ENGINE, 由于受到強(qiáng)硬件功能依賴性, 所以也是底層結(jié)構(gòu)不斷翻新.
這個時候,優(yōu)雅是不重要的,重要的是跟上趟兒......是不是OO作品不重要的,重要的是好玩不死機(jī)... |
一句 “簡直好用得痛哭流涕!”把我給忽悠得研究了半晚上Qt,現(xiàn)在終于看到hello world了,寫此文慶祝一下!
2007-07-21:
哈哈,這兒
Qt is best!!! gui庫大全啊
posted on 2007-07-21 00:43
七星重劍 閱讀(5455)
評論(4) 編輯 收藏 引用 所屬分類:
PL--c/c++ 、
C++ lib -- Qt