QML學(xué)習(xí)總結(jié)
? ? ? 之前的大俠們,寫過好多關(guān)于QML方面的專業(yè)知識(shí),各種語(yǔ)法的介紹等等,為我的開發(fā)也提供了很大的幫助,雖然到現(xiàn)在我還是不明了Qt與QML之間真正的界限,所伸展的領(lǐng)域。但是從完全不懂到現(xiàn)在,雖然學(xué)得慢,但是一步一步最終也是對(duì)QML有一定的基礎(chǔ)了。上周剛把一個(gè)月的通訊軟終端界面開發(fā)完成,對(duì)自己也是相當(dāng)滿意,哈哈,,,回想自己剛開始那段時(shí)間,沒有書,看著Qt自帶的英文文檔,網(wǎng)上相關(guān)的知識(shí)也是不多,一點(diǎn)一點(diǎn)的摸索,簡(jiǎn)直慢到讓自己崩潰,可還是熬了過來(lái),站在現(xiàn)在的位置看過去:我還是不夠努力!沒有加班,沒有熬夜(熬夜也不是學(xué)習(xí))實(shí)習(xí)實(shí)在過得太過安逸了。馬上畢業(yè),加之生活壓力,我要開始最后抓兩把了,向大神們學(xué)習(xí),開始奮斗ing...
????? 廢話好多,其實(shí)還沒說完,哈哈,生活中我可不是這樣的話嘮,想讓我多說兩句,還的看心情!
??????說說我所了解的QML吧,幾個(gè)月的小經(jīng)驗(yàn),哈哈,大神就不用費(fèi)眼了,,,從學(xué)習(xí),開發(fā)到現(xiàn)在所用到的QML控件應(yīng)該是有:button,listView,tabview,text,image,scrollBar,MouseArea,TextInput,rectangle,layout,fileDialog,textField,還有一些自定義的組件吧,貌似就這么多吧,忽然覺得自己玩的好少,但是確實(shí)做出了一個(gè)通訊終端出來(lái),界面的一些顯示,之間的信號(hào)連接,數(shù)據(jù)交互,界面跳轉(zhuǎn)等等,那些曾經(jīng)很為難我的問題確實(shí)遇到了不少,開發(fā)筆記都寫了兩本了,只是一直沒有時(shí)間,沒有心思去整理,留著讓兒孫們看吧,哈哈
???? 雖然遇到的問題挺多但是一時(shí)還真不知道想說那個(gè),那我就想到那個(gè)講講我自己使用的體會(huì)吧,如果看到有錯(cuò)的,請(qǐng)一定要指正啊
???? 1. 從main中講起,使用QML難免會(huì)用到,或者說必不可少吧,要用類,那么類的導(dǎo)入我所使用的有兩種方式
一種是使用qmlRegisterType注冊(cè)類型,然后導(dǎo)入使用,這種方式可以直接看成是rectangle使用,一模一樣,只是在本文件中使用操作它的ID等,在其他文件想要進(jìn)行信號(hào)連接,數(shù)據(jù)訪問,實(shí)在難辦,有知道的嘛?請(qǐng)指點(diǎn)指點(diǎn)啊,如果想實(shí)現(xiàn)多個(gè)文件之間數(shù)據(jù)交互,信號(hào)連接,我就會(huì)使用第二種方式,那就是setContextProperty注冊(cè)成上下文屬性,在那都能訪問。看懂了嗎,還是我表達(dá)不清晰
??? 2. 之前出了一個(gè)錯(cuò)誤,使用Layout時(shí),循環(huán)綁定了!百思不得其姐啊,我拿到的窗口大小就是有兩種,最大,最?。痪褪褂胢inW/H, maxW/H? 就會(huì)告訴我循環(huán)綁定的錯(cuò)誤但是界面顯示卻是好好的,很符合我的要求就是下面編譯會(huì)報(bào)錯(cuò),一直不想理會(huì),后來(lái)仔細(xì)看看Layout才知道,學(xué)的太差了,自己太傻了,只需要設(shè)置preferredHeight和fillHeight就行了,效果一樣而且還不會(huì)報(bào)錯(cuò)。
???? 3. 所有問題中我覺得最糾纏的還是listView的數(shù)據(jù)model,與C++結(jié)合起來(lái),哎呀,簡(jiǎn)直弄得我想跳海了,用過QStringList簡(jiǎn)單的數(shù)據(jù)顯示,后來(lái)多字段的時(shí)候逼急了,高了好半天使用QList
????? 4. 除了listView的大問題外,就是布局的問題了,位置甚至都是拿筆計(jì)算的,連貼的背景圖大小都算過,最大的感覺就是繁瑣,調(diào)整一點(diǎn)點(diǎn),可能就會(huì)進(jìn)行一次大改動(dòng),還得一個(gè)一個(gè)數(shù)值,或是屬性設(shè)置試試看效果,煩透頂啊。
?????? 一口氣寫了這么不多,就開始餓了,呵呵,看著這么像是發(fā)牢騷呢,第一次寫博客還是希望各位路過的手下留情啊
????????