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