我有一个包含ListModel的应用程序。我已经编写了从QAbstractListModel派生的C++类。
QML列表模型看起来像
// SelectedStepsModel.qml
import QtQuick 2.0
ListModel {
ListElement{
step_name:""
step_icon:""而且,C++类看起来像
class ProductModel : public QAbstractListModel
{
Q_OBJECT
Q_PROPERTY(QString product_name READ get_product_name)
public:
enum {
StepNameRole = Qt::UserRole,
StepIconRole,
...在main中,
...
ProductModel* product_model = new ProductModel();
context->setContextProperty("product_model", QVariant::fromValue(product_model));
...在其中一个文件中(其中QML模型由QML中的一些函数填充),我想用新创建的模型替换那个逻辑(因为模型包含所有数据)。
// some other file
SelectedStepsModel {
id: selected_model
}
selected_model = product_model注意,这里的selected_model是ListModel,product_model是QAbstractListModel。但是selected_model = product_model失败了。
我做得对吗?将QAbstractListModel赋值给ListModel的正确方式是什么?
提前谢谢。
发布于 2019-11-01 20:50:55
这里没有“分配”模型这回事:要么使用在QML中声明的模型实例,要么使用提供的模型。选择其中之一。
https://stackoverflow.com/questions/58659120
复制相似问题