我width在QML上有一个属性,该属性Rectangle是基于另一个具有id mainwindow和以下数组属性之一的Rectangle设置的mainwindow:
width: mainwindow.width/mainwindow.numColsPerRow[positionRow]
这在我的矩形设置时有效; 也就是说,数组中的元素numColsPerRow是正确的.
但是,在设置此Rectangle之后,如果我更改此Rectangle 内numColsPerRow的值width没有任何效果.
QML不允许属性绑定到数组元素吗?
The*_*roo 17
调用时,var JS数组中的值不会发出和"更改"信号:
my_array [n] = value;
Run Code Online (Sandbox Code Playgroud)
为了将数组属性通知给使用它的每个代码,你必须使用这个技巧:
var tmp = my_array;
tmp [n] = value; // you can do multiple changes, and also push/splice items
my_array = tmp;
Run Code Online (Sandbox Code Playgroud)
这样,QML引擎将发出信号,并且将通知和更新使用my_array的其他绑定.
PS:你不能使用ListModel,因为你无法使用像数组或map这样的键来获取模型中的特定项.模型旨在与MVC视图一起使用......
| 归档时间: |
|
| 查看次数: |
6271 次 |
| 最近记录: |