我对QML很陌生,当我试图从中继器内部访问一个元素时,我遇到了一个问题。
我有一个中继器,它生成每个鼠标区域的矩形。单击鼠标区域应更改以前定义的背景窗口根的颜色,但单击时我只得到:"ReferenceError: root未定义“。如果我在中继器外面创建一个带有鼠标区域的矩形,那么它就能工作了。那么,如何使用中继器内的鼠标区域访问中继器外部的元素呢?谢谢你的帮助。我现在真的被这个问题困住了。
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"
}
}
}
}
}
}
发布于 2014-03-19 06:05:40
我在windows模拟器上测试了您的代码,甚至无法正确运行;它只是显示了一个白色的空白页。也许是因为我没有在我的main.cpp中使用main.cpp。
要在我的模拟器上运行它,我将窗口元素更改为矩形,它运行得非常好。当我点击一个按钮时,背景色会变成白色。
发布于 2014-03-18 16:53:22
首先导入这两个标头
import QtQuick 2.0
import QtQuick.Window 2.1
第二,窗口项{}的大括号root在哪里?
https://stackoverflow.com/questions/22485118
复制相似问题