qt入門教程詳細(xì)講解版 QML價(jià)值何在?
QML價(jià)值何在?為此,QML只能做UI。但是在QML的背后,有兩個(gè)大頭,C/JS,作為技術(shù)支持。可以說,沒有軟件做不到。從易用性的角度來看,QML是最適合UI的工具。我已經(jīng)使用QML四年了。QML是一
QML價(jià)值何在?
為此,QML只能做UI。但是在QML的背后,有兩個(gè)大頭,C/JS,作為技術(shù)支持??梢哉f,沒有軟件做不到。
從易用性的角度來看,QML是最適合UI的工具。我已經(jīng)使用QML四年了。
QML是一種聲明性UI描述語言,這種設(shè)計(jì)非常具有前瞻性。
多年來,Qml就像兩顆豌豆一樣。谷歌在2018年提出的flatter和蘋果在2019年提出的SwiftUI都是聲明性的UI描述語言。有些概念與Qml完全相同。
QML的缺點(diǎn)是沒有像Google/apple這樣的大公司來推廣它。
使用Qt開發(fā)跨平臺(tái)桌面應(yīng)用時(shí),應(yīng)該選擇widgets還是qml?
這取決于你在哪里。如果它是一個(gè)專業(yè)的工具,如編輯器和設(shè)計(jì)器,你不需要太多花哨的東西,只要使用widget。如果是做網(wǎng)易云音樂這樣好看、輕量級(jí)的軟件,使用QML。盡可能的酷。
如何用qml做界面,用C 實(shí)現(xiàn)業(yè)務(wù)邏輯?
首先,如果使用QML作為頁(yè)并且C實(shí)現(xiàn)邏輯,則必須有一個(gè)注冊(cè)為QML類型的C類。例如,如果要顯示一列數(shù)據(jù),那么好的QML使用listview,并且數(shù)據(jù)源listview的模型可以是由C注冊(cè)為QML的類型,例如qsstringlist、qlist<qobject*>、qabstractemmodel等(可以在文檔中將C模型與QT快速視圖一起使用中找到)。更進(jìn)一步說,許多類型的QML是由C實(shí)現(xiàn)的,因此QML編寫的代碼可以由C實(shí)現(xiàn),但是QML是封裝的,可以由您使用。例如,如果QML類型的folderlistmodel真的知道QT,那么它可以完全封裝一個(gè)模型來實(shí)現(xiàn)folderlistmodel的功能,這樣可能會(huì)更方便。
用C編寫QT實(shí)例QML擴(kuò)展可以幫助解決問題。我可以自己讀。
您需要知道qmlregistertype方法。你可以在文件里查到。
要在C中實(shí)現(xiàn)業(yè)務(wù)邏輯,您需要了解QT或與C中的邏輯相關(guān)的類。例如,如果文件操作要使用qfile。
事實(shí)上,一些業(yè)務(wù)邏輯可以使用JS直接在QML中編寫。點(diǎn)擊一些東西。
我已經(jīng)第三次回答這個(gè)問題了。。。沒你想的那么難。關(guān)鍵是要寫好C