【发布时间】:2015-06-09 11:38:32
【问题描述】:
我想从 QML 连接 C++ QObject 的破坏信号,所以我这样做了:
Rectangle
{
id: root
width: 128
height: 128
Button
{
anchors.centerIn: parent
text: "Click me"
onClicked:
{
qobj.Component.onDestruction.connect(function(){console.log("It destroy")}) // qobj is set from c++
qobj.destroy() // should output "It destroy"
}
}
但是当我销毁 qobj 时没有打印任何内容。
【问题讨论】:
-
function(){...}是什么? -
function(){console.log("It destroyed!")}一个匿名函数,可以将一个词放到控制台,不是吗? -
哦,那为什么要标记为 C++ 呢?
-
是的,这是我的错,我解决了这个问题。对不起...
-
connect 应该与 SIGNAL 一起使用,而不是与 HANDLER 一起使用,即您应该使用
destruction.connect(参见上面的链接)。除此之外,qobj是上下文属性吗?
标签: javascript qt qml qtquick2