我有这个QML代码并且它非常直接但我的问题是onEntered和onExited根本不起作用。我没有看到代码有任何问题,我觉得这是一个QtQuick错误!
import QtQuick 2.2
Rectangle {
width: 480
height: 320
Rectangle {
x: 30; y: 30
width: 300; height: 240
color: "lightsteelblue"
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: {
console.log('mouse over ya kbeer');
}
onExited: {
console.log('mouse out ya kbeer');
}
}
}
}
我将此作为qml组件用于其他地方。我不确定,但也许是因为我必须将它们嵌入到另一个Qt Quick项目中,鼠标事件无法到达此项目,因为它已被父母缓存,我不确定!
非常感谢任何建议和帮助!
答案 0 :(得分:1)
资源内置于您的可执行文件中。如果要更改它们,则需要重建exe。
您可以尝试按QML
添加新的Add new - Qt - QML file
文件:在此处写下您的代码(使用Qt Quick),然后通过QQuickView
将其加载到view->setSource(QUrl::fromLocalFile("fullpath.qml"));
当您完成app,将此文件写入资源并使用资源路径。
答案 1 :(得分:0)
我发现问题不在代码或qml上,而是在QCreator本身,当我更新我的qml代码,因为它在资源中,当我点击运行时它没有采取最新的更新。现在我重建之后它的工作正常。但有谁知道为什么会这样!