用Carbide C++ UI Designer做UI的爽与不爽
做過Symbian程序的人可能都會多少有這樣的感覺,為啥在Symbian下做什么都這么不爽?這么麻煩?包括通常覺得不那么麻煩的UI。像其他平臺,如iPhone/Android/Windows Mobile等,都提供了所見即所得的UI編輯器,通過簡單的拖拉動作,你就可以做出基本的UI來了。Android的UI編輯器可能你也未必經常用,但是xml格式的UI資源文件相當簡潔明了。
Symbian開發環境Carbide C++也是提供UI Designer的,但是我熟悉的Symbian程序員,都不太用這個東西。一直在想,為什么不用呢?難道它非常爛,爛到大家都不想用的程度?于是我開始用UI Designer做了一些UI,然后總結出了一些用UI Designer做Symbian UI的爽與不爽,與大家分享。
爽的地方:
簡單明了,所見即所得。通過幾步點擊鼠標和拖拉的動作,基本的UI就做完了。你可以通過拖拉,完成UI的基本布局,并且關聯控件的事件響應,就像使用其他的UI編輯器一樣(例如MFC的UI編輯器)。
?
??
通過UI編輯器,你可以很方便的管理程序所使用的各種資源,例如圖片等。剛開始Symbian編程時,你可能會對mmp文件中位圖等各種資源感到疑惑,為什么需要定義這么奇怪的結構?有了UI Designer,點擊鼠標就足夠了。添加一個圖片,右鍵選擇“Edit Image Property”就可以編輯這個圖片對應的資源了。
如果資源還沒有添加到工程中,在資源編輯框點擊“Edit MBM/MIF File...”,可以很方便的把你需要的圖片加入到工程中,并且還可以設置諸如色深,mask色深等屬性。再也不需要為理解mmp文件中那些奇怪的符號了。
通過UI編輯器,你可以點擊鼠標就完成tab支持。只需要在你的主uidesign文件的UI Design頁,勾選“Enable Navigation Pane Tabbing”,然后依次設置你所有的頁面是否支持tab(是否勾選“Is in AppUI tab group”),同時還可以設置對應的tab title或者圖片。
通過UI編輯器還可以通過簡單拖拉,添加例如網絡訪問支持,各種彈出框(包括確認框,輸入框,等待框)等。相信這些代碼,如果你要手寫完成,還是需要花些事件coding和debuging的。
例如,如果你需要HTTP訪問網絡的功能,只需要拖入webClient控件,然后Ctrl+S,UI Designer就會幫你生成HTTP Engine的代碼并添加到工程中去。在UI Designer下,選中webClient控件后,在Events設置欄,你可以點擊鼠標就添加諸如處理HTTP頭,HTTP body,HTTP錯誤等事件。
UI designer實際是個代碼生成器,允許你通過鼠標點擊完成UI設計,它會幫你把這些所見即所得的UI文件,轉換成對應的Symbian資源定義和代碼。所以在代碼中,你可以經常看見如下的注釋。嘗試之后發現,UI Designer生成代碼的結構還是相當不錯的,代碼按功能分離,絕對不想人工寫的代碼,把很多東西混到一起。UI Designer生成的代碼結構,是我們值得參考的。
// [[[ begin generated region: do not modify [Generated Contents]
iTestContainer = NULL;
// ]]] end generated region [Generated Contents]
//
上面說了很多使用UI Designer如何如何爽,貌似是在慫恿大家使用UI Designer。確實有此用意,既然有方便高效的工作方式,我們為什么不選擇它呢?但是在使用UI Designer的過程中,還是會有些不爽的地發的,列在下面。
結論:早期開發中,使用UI Designer會極大的提高你的開發效率,但是當UI已經大體定型,只需要小修小改的時候,還是手動coding來處理UI吧。
總結
以上是生活随笔為你收集整理的用Carbide C++ UI Designer做UI的爽与不爽的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑管理员权限在哪里可以打开
- 下一篇: 解决steam下载的植物大战僵尸无法打开