如何修复 "Duplicate method name: invalid override of property change signal or superclass signal"?

How to fix "Duplicate method name: invalid override of property change signal or superclass signal"?

在 Qt 5.15.1 上我想连接到 objectNameChanged signal of a QML Item using Connections:

import QtQuick 2.15
import QtQuick.Window 2.15

Window {
    visible: true

    Item {
        id: foo
    }

    Connections {
        target: foo

//      onObjectNameChanged: console.log(foo.objectName) // old syntax, causes "Implicitly defined onFoo properties in Connections are deprecated."
        function onObjectNameChanged() {
            console.log(foo.objectName)
        }
    }
}

代码产生以下错误:

Duplicate method name: invalid override of property change signal or superclass signal

我当然可以这样写:

Item {
    id: foo

    onObjectNameChanged: console.log(foo.objectName)
}

但我需要使用 Connections

如何解决这个问题?

来自我的评论:

错误的原因很容易解释:Connections也是一个QObject,所以它也有objectName 属性(和关联的信号)并且映射目标的objectName 属性时它会产生问题,我认为没有解决方法,因此我建议您报告错误。