gpt4 book ai didi

qt - 在 Component.onCompleted qml 中多次执行语句

转载 作者:行者123 更新时间:2023-12-01 16:02:25 25 4
gpt4 key购买 nike

我有一个矩形,我在其中调用其 onComplted block 上的语句。但我不知道该语句执行了 3 次而不是只执行了 1 次。这是我的代码

Rectangle {

id: selector_button;

signal clicked
state: 'pressed'

MouseArea {
anchors.fill: parent;

onPressed: {
selector_button.state == 'pressed' ? selector_button.state = "" : selector_button.state = 'pressed';
Current.currentData("Enbaled");
selector_button.clicked();
}
}
states: [
State {
name: "pressed"
PropertyChanges { target: selector_button; color: "#fg08Rf" }
}
]

Component.onCompleted: {
Current.currentData("Enabled"); */
}
}

但是我在其他 qml 文件中也使用了这个组件,这是问题吗...?如果是,我应该在哪里调用这个语句,以便它只执行一次一些 onPropertyChanged 上发生了类似的事情......知道我做错了什么

最佳答案

这是因为状态快进,qml 引擎在渲染阶段之前解析和初始化每个状态。

引用。 http://qt-project.org/doc/qt-4.8/qdeclarativestates.html#state-fast-forwarding

这更像是 QML 的未定义行为,您的逻辑或值绑定(bind)不应依赖于此“功能”

关于qt - 在 Component.onCompleted qml 中多次执行语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25547611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com