Closed mentalfl0w closed 2 months ago
qRegisterMetaType<QQuickItem>("const QQuickItem"); 添加这一句就可以了,主要是类型不正确导致的重载失败问题
qRegisterMetaType<QQuickItem>("const QQuickItem"); 添加这一句就可以了,主要是类型不正确导致的重载失败问题
有道理,不过其实接口里也没必要const,我改下
qRegisterMetaType<QQuickItem>("const QQuickItem"); 添加这一句就可以了,主要是类型不正确导致的重载失败问题
这样是在QML引擎内全局注册const QQuickItem*
为QQuickItem*
,但Qt 5的QML引擎似乎对于类型转换非常严格,我担心全局范围内的修改这样可能会造成一些我们意想不到的问题,我觉得能在影响范围最小的情况下修复这个问题(修改接口)会更好。
qRegisterMetaType<QQuickItem>("const QQuickItem"); 添加这一句就可以了,主要是类型不正确导致的重载失败问题
这样是在QML引擎内全局注册
const QQuickItem*
为QQuickItem*
,但Qt 5的QML引擎似乎对于类型转换非常严格,我担心全局范围内的修改这样可能会造成一些我们意想不到的问题,我觉得能在影响范围最小的情况下修复这个问题(修改接口)会更好。
有道理
错误信息如下:
无论是指定bool还是不指定bool都会出现问题 解决方案是将
quickwindowagent.h
中的这个函数的const
去掉,因为Qt 5.15.2的qml引擎无法转化QML组件指针为const QQuickItem*
,但Qt 6可以 有时间的话我会提个PR,或者看大家是否有更好的解决方法