对象属性循环 (QML)
Posted
技术标签:
【中文标题】对象属性循环 (QML)【英文标题】:Loop on object property (QML) 【发布时间】:2017-07-26 08:15:30 【问题描述】:当我使用以下 QML 文件时,Qt 在运行时报错:
import QtQuick 2.7
import QtQuick.Controls 2.0
Rectangle
color: palette.grey
property var spotButtonFunctions :
'EditViewTool' : function() switchToEditViewToolButton.source = "../View/Icons/icon_game.png";,
'SelectTool' : function() switchToSelectToolButton.source = "../View/Icons/icon_game.png";
property var greyButtonFunctions :
'EditViewTool' : function() switchToEditViewToolButton.source = "../View/Icons/icon_settings.png";,
'SelectTool' : function() switchToSelectToolButton.source = "../View/Icons/icon_info.png";
// View update slots.
function onNotifyCurrentToolSignal(currentToolName)
// Grey all tool buttons.
for (x in greyButtonFunctions)
greyButtonFunctions[x]();
// Spot the current tool button.
if (currentToolName !== "")
spotButtonFunctions[currentToolName]();
错误信息与for (x in greyButtonFunctions)
行有关:
错误:无法将 QString 分配给 double
有什么想法吗?
【问题讨论】:
【参考方案1】:您正在分配给Item
的x property
。
如果你想要一个名为 x 的局部变量,你必须这样做 for (var x in greyButtonFunctions)
【讨论】:
以上是关于对象属性循环 (QML)的主要内容,如果未能解决你的问题,请参考以下文章
检测到属性宽度的 QML 绑定循环(TextMetrics 行为怪异)