【发布时间】:2017-01-21 20:42:58
【问题描述】:
我正在尝试使用 Qt 快速创建一个 GUI,我将在多个文件中有大量数据,并且我将通过 C++(将逻辑留在那里)不断更新 GUI,这将发出到某个 JS 函数(不确定是否这是做事的正确方法)。
我用Grid(不是GridView) 布局做了一个简单的例子,因为我发现了如何改变第一个矩形的颜色,而不是嵌套的颜色。这里是:
Column{
spacing:2
Grid{
id:grid
columns: 2
rows:2
spacing: 10
Repeater{
model:4
Rectangle{
id:rect1
width:100
height:100
color:"red"
Rectangle{
id:rect2
width:25
height: 25
color:"black"
anchors.horizontalCenter: rect1.horizontalCenter
anchors.verticalCenter: rect1.verticalCenter
}
}
}
}
Button{
text:"Click me"
width:50
height:50
onClicked: {
for (var i = 0; i <grid.children.length; ++i)
column.children[i].color="green";
}
}
}
【问题讨论】:
-
为什么你需要一个 JavaScript 函数来处理这些? GridView 中的委托只能对其模型条目数据的更改做出反应
-
我是一个初学者,我正在尝试寻找如何创建我的界面我不确定这是否是正确的方法。我刚刚编辑了我的问题,但是当我在文档中阅读时,您需要将逻辑与图形分开,所以我认为我的 c++ 函数将向我的 javascript 函数发出信号,而 javascript 函数将改变颜色..
标签: qt gridview qml qt5 qtquick2