qt教程 入門(mén) 如何用qml做界面,用C 實(shí)現(xiàn)業(yè)務(wù)邏輯?
如何用qml做界面,用C 實(shí)現(xiàn)業(yè)務(wù)邏輯?首先,如果使用QML作為頁(yè)面并且C實(shí)現(xiàn)邏輯,那么必須有一個(gè)注冊(cè)為QML類(lèi)型的C類(lèi)。例如,如果要顯示一列數(shù)據(jù),那么好的QML使用listview,并且數(shù)據(jù)源li
如何用qml做界面,用C 實(shí)現(xiàn)業(yè)務(wù)邏輯?
首先,如果使用QML作為頁(yè)面并且C實(shí)現(xiàn)邏輯,那么必須有一個(gè)注冊(cè)為QML類(lèi)型的C類(lèi)。例如,如果要顯示一列數(shù)據(jù),那么好的QML使用listview,并且數(shù)據(jù)源listview的模型可以是由C注冊(cè)為QML的類(lèi)型,例如qsstringlist、qlist<qobject*>、qabstractemmodel等(可以在文檔中將C模型與QT快速視圖一起使用中找到)。更進(jìn)一步說(shuō),許多類(lèi)型的QML是由C實(shí)現(xiàn)的,因此QML編寫(xiě)的代碼可以由C實(shí)現(xiàn),但是QML是封裝的,可以由您使用。例如,如果QML類(lèi)型的folderlistmodel真的知道QT,那么它可以完全封裝一個(gè)模型來(lái)實(shí)現(xiàn)folderlistmodel的功能,這樣可能會(huì)更方便。
用C編寫(xiě)QT實(shí)例QML擴(kuò)展可以幫助解決問(wèn)題。我可以自己讀。
您需要知道qmlregistertype方法。你可以在文件里查到。
要在C中實(shí)現(xiàn)業(yè)務(wù)邏輯,您需要了解QT或與C中的邏輯相關(guān)的類(lèi)。例如,如果文件操作要使用qfile。
事實(shí)上,一些業(yè)務(wù)邏輯可以使用JS直接在QML中編寫(xiě)。就像一次點(diǎn)擊事件。
我已經(jīng)第三次回答這個(gè)問(wèn)題了。。。沒(méi)你想的那么難。關(guān)鍵是要寫(xiě)好C
為了這個(gè)目的,QML只能做UI。但是在QML的背后,有兩個(gè)大頭,C/JS,作為技術(shù)支持。可以說(shuō),沒(méi)有軟件做不到。
在UI方面,最適合我使用的工具是QML。我已經(jīng)使用QML四年了。
QML是一種聲明性UI描述語(yǔ)言,這種設(shè)計(jì)非常具有前瞻性。
多年來(lái),Qml就像兩顆豌豆一樣。谷歌在2018年提出的flatter和蘋(píng)果在2019年提出的SwiftUI都是聲明性的UI描述語(yǔ)言。有些概念與Qml完全相同。
QML的缺點(diǎn)是沒(méi)有像Google/apple這樣的大公司來(lái)推廣它。
QML價(jià)值何在?
1、打開(kāi)QT creator選擇:開(kāi)始->所有程序->qt5.2.0->qt creator 2。創(chuàng)建新的QML項(xiàng)目(1)選擇:文件->新建文件或項(xiàng)目(2)選擇:應(yīng)用程序->快速Q(mào)Application,單擊“選擇”按鈕(3)輸入“項(xiàng)目名稱(chēng)”,單擊“下一步”(4)在每個(gè)步驟之后,單擊“下一步”。三。運(yùn)行右鍵單擊項(xiàng)目->運(yùn)行,或直接單擊“運(yùn)行”按鈕。在這里可以看到,在創(chuàng)建一個(gè)新的QML項(xiàng)目之后,一些默認(rèn)代碼將被生成并直接運(yùn)行!其效果如下:在我看來(lái),在開(kāi)發(fā)桌面時(shí),如果能將C和QML混合使用,效果會(huì)更好。QML語(yǔ)法簡(jiǎn)單,動(dòng)畫(huà)效果強(qiáng)。如果您熟悉JavaScript,您可以事半功倍。當(dāng)然,HTML和CSS也是必不可少的!