如何用qml做界面,用C++实现业务逻辑
2018-08-01 · 做真实的自己 用良心做教育
Qt事例 Writing QML Extensions with C++ 可以帮助解决问题。 自己看懂。
你需要知道 这个 方法 qmlRegisterType,文档里有 自己查。
在C++实现业务逻辑 需要你懂Qt或者C++中与你逻辑相关的类。比如 文件操作的话 要用QFile等。
其实有些业务逻辑可以直接在QML中用JS来写。比如什么onClicked事件。
这个问题我已经回答第三遍了。。。没有想象的那么难吧,重点是把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++写好