Tiled原始碼分析 一 GUI編輯和布局

2021-06-20 05:08:47 字數 1137 閱讀 2017

mfc, winforms, wpf, qt算是都折騰過, 就差wxwigets了

比較下來, 做遊戲(引擎)工具開發的話, 最重要的是易上手, 好維護, 開發快, 綜合下來還是滾回c++陣營, 選擇了qt

不用不知道, 其實傳統的qt widgets用起來跟winforms非常像, 甚至qt quick的特性跟wpf有的一拼

想當初強烈地想用c#, 很大部分原因是winforms那個視覺化gui編輯器比較吸引人

不過qtdesigner雖說還沒有生成事件**的功能, 但是對於c++來說, 已經很不錯了, 再說還有signal-slot的支援

回歸正題, tiled中的主要對話方塊都是.ui檔案, 用qtdesigner就可以開啟

仔細觀察發現, 工具欄上的按鈕只有固定幾個, 好多視窗也沒有在.ui裡找到

雖說很多人會鄙視視覺化的ui編輯器, 但是不得不說, 有些地方的確很方便, 但所有介面都依賴這個就份了

因為從架構設計的角度來講, 越抽象, 其實就離ui編輯器越遠

我想這也是tiled的一些功能模組視窗沒有使用設計器的原因

.ui檔案與c++類之間的關係就不說了, 之前都用過

通過tiled截圖來看, 其它功能視窗布局都很簡單, 而且都是dock window

所以在**中可以看到它們都從qdockwidget派生的

狀態列其實就是乙個窗器, 可以建立一些控制項扔進去

這裡也是基於qt比較不錯的的qaction, 比mfc的id方式強太多了. 工具欄那些沒在designer中出現的按鈕是跟操作/外掛程式功能相關的, 後續再分析

Tiled原始碼分析 四 外掛程式機制

tiled作為乙個通用的2d地圖編輯器,對於功能擴充做了一些考慮,比例載入 輸出第三方的檔案格式.不過分析下來,能擴充的功能有限,像ui面板之類的功能擴充套件就沒有提供支援,但是參考已經有的介面可以很方便地實現 qt本身就對外掛程式機制提供了完善的支援,對於應用程式,外掛程式一般是以dll的方式存在...

mysql原始碼編譯表 MySQL原始碼編譯安裝

1 安裝cmake 2.8.10.2.tar.gz 以root使用者進入shell tar zxvf cmake 2.8.10.2.tar.gz cd cmake 2.8.10.2 configure make 無法make,檢測gcc編譯環境 make install 2 安裝ncurses 5....

Mangos原始碼分析 一)

mangos 原始碼分析 realmd 登陸伺服器 realmd 主程式 launch the realm server int main int argc,char argv h.add authlistensocket 進行一些引數設定 while stopevent 伺服器主迴圈 return...