首先 QML做頁面,C++實現邏輯的話,那麼必須有一個註冊為QML型別的C++類。比如說你要顯示一列資料,那麼好QML用ListView,而資料的來源Listview的model就可以是C++註冊成Qml的一個型別,比如QStringList,QList<QObject*>,QAbstractItemModel等(可以在文件的Using C++ Models with Qt Quick Views中找到)。進一步往深一些說,QML的很多型別都是由C++來實現的,因此QML寫出來的程式碼,用C++完全可以實現,只不過QML是封裝好的交給你來用而已,比如說FolderListModel這個QML型別,如果真正會Qt的C++,完全可以自己封裝一個model來實現FolderListModel的功能,或許更加好用。
Qt事例 Writing QML Extensions with C++ 可以幫助解決問題。 自己看懂。
首先 QML做頁面,C++實現邏輯的話,那麼必須有一個註冊為QML型別的C++類。比如說你要顯示一列資料,那麼好QML用ListView,而資料的來源Listview的model就可以是C++註冊成Qml的一個型別,比如QStringList,QList<QObject*>,QAbstractItemModel等(可以在文件的Using C++ Models with Qt Quick Views中找到)。進一步往深一些說,QML的很多型別都是由C++來實現的,因此QML寫出來的程式碼,用C++完全可以實現,只不過QML是封裝好的交給你來用而已,比如說FolderListModel這個QML型別,如果真正會Qt的C++,完全可以自己封裝一個model來實現FolderListModel的功能,或許更加好用。
Qt事例 Writing QML Extensions with C++ 可以幫助解決問題。 自己看懂。
你需要知道 這個 方法 qmlRegisterType,文件裡有 自己查。
在C++實現業務邏輯 需要你懂Qt或者C++中與你邏輯相關的類。比如 檔案操作的話 要用QFile等。
其實有些業務邏輯可以直接在QML中用JS來寫。比如什麼onClicked事件。
這個問題我已經回答第三遍了。。。沒有想象的那麼難吧,重點是把C++寫好