gpt4 book ai didi

qt - 如何从 JavaScript 修改 QML 动态对象

转载 作者:行者123 更新时间:2023-12-04 12:52:39 24 4
gpt4 key购买 nike

我有描述按钮的 QML 文件(moduleButton.qml):

import QtQuick 2.0
Rectangle {
id: button;
width: 100; height: 20
Text {
id: buttonText;
text: "Hello World";
}
}

我从其他 QML 表单通过 Qt.createComponent 方法加载此按钮:

var moduleButton = Qt.createComponent("moduleButton.qml");
moduleButton.createObject(mainRect);

我尝试设置/获取 moduleButton 的宽度:

moduleButton.width = 30;

但收到以下错误:无法分配给不存在的属性“width”

如何访问动态对象属性和子元素?

附言Qt.createQmlObject 方法非常有效,但我需要从文件而不是字符串加载 QML。

最佳答案

createObject() 返回新对象。您的代码应如下所示:

var moduleButton = Qt.createComponent("moduleButton.qml");
var myButton = moduleButton.createObject(mainRect);

myButton.width = 40

moduleButton 是一个组件(工厂),用于实例化项目。

文档: http://qt-project.org/doc/qt-5/qtqml-javascript-dynamicobjectcreation.html

关于qt - 如何从 JavaScript 修改 QML 动态对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21940821/

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