qt - 如何修复“重复的方法名称:属性更改信号或超类信号的无效覆盖”?
问题描述
在 Qt 5.15.1 上,我想使用以下命令连接到objectNameChanged
QMLItem
的信号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)
}
}
}
该代码产生以下错误:
重复的方法名称:属性更改信号或超类信号的无效覆盖
我当然可以这样写:
Item {
id: foo
onObjectNameChanged: console.log(foo.objectName)
}
但我需要使用Connections
.
如何解决这个问题?
解决方案
从我的评论:
错误的原因很容易解释:Connections 也是一个 QObject,所以它也有 objectName 属性(和关联的信号),并且在映射目标的 objectName 属性时会产生问题,我认为没有解决方法,以便我建议您报告该错误。
推荐阅读
- python - 在python中比较多维分布的测试
- reactjs - 如何在 ag-grid(react)树数据中的下拉箭头旁边显示孩子的数量?
- typescript - 打字稿 - 从参数元组中删除最后一个元素,取消最后一个参数
- angular - 创建“任何”类型的扩展方法。错误:“任何”仅指一种类型,但在此处用作值
- c# - MaterialPropertyBlock 在运行时不会改变颜色?
- android - 如何在 Android 中创建自定义画笔
- javascript - Gridstack - 如果我在重新初始化之前破坏网格,则稍后会失败
- azure - 如何永久清除在启用软删除的情况下创建的整个 azure keyvault?
- python - 这个 Python 代码中的 [:5] 和 [5] 有什么区别?
- docker - 如何创建在 docker 中运行的自由式 jenkins 作业