javascript - 从 javascript 访问 qml 元素

标签 javascript qml qt5

请问,是否可以从 javascript 函数访问和更改 qml 元素的属性?我读到 document.getElementById() 应该可以解决问题,但是当我尝试这样做时,我得到:

ReferenceError: document is not defined

测试.qml

import QtQuick 2.0
import QtQuick.Controls 1.2
import Test.js as JS 

Rectangle{
    id: rect
    color: "red"

    onClicked: {
        JS.changeMe();
    }
}

测试.js

function changeMe(){
   //change the color of element "rect"
   //document.getElementById("rect")
}

最佳答案

这有效:

Rectangle{
    id: rect
    color: "red"

    onClicked: {
        JS.changeMe(rect);
    }
}

function changeMe(rect){
   rect.color = "yellow";
}

关于javascript - 从 javascript 访问 qml 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24744933/

相关文章:

image - QML如何像MacOSX dock的背景货架图像一样旋转图像

c++ - 如何使用十六进制值在 C++ 中设置标签颜色?

windows - 模糊的 Qt 快速文本

c++ - QT动态添加标签并定位

qt5 - win 7下为Android部署Qt3D项目

javascript - 在下拉菜单中选择选项后 append 新的输入字段

javascript - 在 Vue 中渲染不同组件类型的列表

javascript - getInstalledRelatedApps() API 未检测到已安装的应用程序

qt - 如何加快QTableWidget的速度

javascript - 使用 Object.hasOwnProperty 与测试属性是否未定义的好处