将QAbstractItemModel*传递给C++类
Passing QAbstractItemModel* to C++ class
本文关键字:C++ QAbstractItemModel 更新时间:2024-09-24
考虑:
class Utility : public QObject
{
Q_OBJECT
public:
explicit Utility(QObject* parent = nullptr) : QObject(parent) {}
Q_INVOKABLE void test(const QAbstractItemModel* model)
{
}
};
通过qmlRegisterSingletonInstance("pgqt34", 1, 0, "Utility", &utility);
在main
中设置
QML为:
import QtQuick 2.15
import QtQuick.Window 2.15
import pgqt34 1.0
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
ListModel {
id: listModel
}
onActiveChanged: {
Utility.test(listModel);
}
}
我一直为Qt 5.15.2编译获得Error: Unknown method parameter type: const QAbstractItemModel*
,但Qt 6.x+工作正常。这里出了什么问题?
-
直通:
Q_INVOKABLE无效测试(const QObject*obj({自动模型=qobject_cast(obj(;}
-
将
QAbstractItemModel*
声明为元类型。但是,我不确定这是否是一个有效的解决方案。
相关文章:
- 没有找到相关文章