【发布时间】:2025-12-23 09:35:17
【问题描述】:
我是 QML 新手,当我尝试从中继器内部访问元素时遇到问题。
我有一个中继器,它生成每个带有鼠标区域的矩形。单击鼠标区域应更改之前定义的背景窗口 root 的颜色,但单击时我只得到:“ReferenceError: root is not defined”。如果我在中继器之外创建一个带有鼠标区域的矩形,那么它就可以工作。那么如何使用中继器内的鼠标区域访问中继器外部的元素?感谢您的任何帮助。我现在真的被这个问题困住了。
import QtQuick 2.0
import QtQuick.Window 2.1
Window
id: root
visible: true
width: 600; height: 600
color: "black"
{
Grid
{
columns: 3
spacing: 20
x: 20
y: 20
Repeater{
id: repeater1
model: 3
Rectangle {
color: "White"; width: 100; height: 100;
radius: 10
MouseArea
{
anchors.fill: parent
onClicked:
{
root.color="white"
}
}
}
}
}
}
【问题讨论】: