【问题标题】:It's possible know who is calling my QML property?可能知道谁在调用我的 QML 属性?
【发布时间】:2018-11-08 05:29:26
【问题描述】:

我不知道是谁在 Rectangle 中设置宽度属性。 我不可能知道谁在调用宽度属性? 例如:

    Rectangle
{
    onWidthChanged: console.log ("who is calling me: ", sender())
}

【问题讨论】:

  • 项目本身触发的属性更改事件。你必须澄清你的问题。请阅读this之前的文章。
  • 不调用属性。它们既不是方法也不是函数,也不是其他类型的可调用对象。

标签: properties qml sender


【解决方案1】:

找到信号在 C++ 中发出的位置(在 Qt 源代码的克隆上使用 git grep),在此处设置断点,然后调试应用程序。在你的情况下,它可能在这里:

http://code.qt.io/cgit/qt/qtdeclarative.git/tree/src/quick/items/qquickitem.cpp#n3794

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多