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