在 Qt 5.15.1 上,我想使用以下命令连接到objectNameChangedQML 的信号:ItemConnections
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)
}
}
}
Run Code Online (Sandbox Code Playgroud)
该代码产生以下错误:
重复的方法名称:属性更改信号或超类信号的重写无效
我当然可以这样写:
Item {
id: foo
onObjectNameChanged: console.log(foo.objectName)
}
Run Code Online (Sandbox Code Playgroud)
但我需要使用Connections.
如何解决这个问题?
从我的评论来看:
错误的原因很容易解释:Connections 也是一个 QObject,因此它也具有 objectName 属性(以及关联的信号),并且在映射目标的 objectName 属性时会产生问题,我认为不存在解决方法,以便我建议您报告该错误。
| 归档时间: |
|
| 查看次数: |
1106 次 |
| 最近记录: |