Qt 使用if时出现意外的令牌错误
我有一个名为name的属性,它依赖于索引,它是列表视图委托的一部分。我编写了以下代码:Qt 使用if时出现意外的令牌错误,qt,qml,qt5,Qt,Qml,Qt5,我有一个名为name的属性,它依赖于索引,它是列表视图委托的一部分。我编写了以下代码: property string name : if ( index == 0 ) "ABC" else if ( index == 1 ) "DEF" else if ( index == 2 )
property string name : if ( index == 0 )
"ABC"
else if ( index == 1 )
"DEF"
else if ( index == 2 )
"GHI"
else if ( index == 3 )
"JKL"
else if ( index == 4 )
"MNO"
else
"XYZ"
它在Qt5(Linux)上运行得非常好,但当我在Qt4.7(Windows)上运行它时,我开始遇到一个奇怪的错误:
意外标记'if'
属性字符串名称:if(索引==0)
应为限定名称id
“ABC”
有人能告诉你哪里出了问题吗?这是可行的,尽管你可能需要将if/else if/else if/../else包装成
{}
猜测一下:Qt5=qtquick 2。Qt4=QT1。也许您使用了qtquick 2功能,但这些功能在qtquick 1中不起作用?我想说的是,在Qt4.7上,您无法使用多个if/else
定义属性。你试过调用一个函数吗?@Greenflow这对我来说并不是一个新的“功能”。我已经做了必要的更改(将导入语句更改为QtQuick 1.0)。@koopajah函数工作正常,我一直在使用它们。我也猜到了你的建议,但找不到同样的文档。关于这方面的正确文档有什么线索吗?@AmitTomar>我只找到了这个:它显示了如何使用属性的示例,但没有一个使用if/else。您尝试了{if….else…}或if(){}else{},或者两者都尝试了?它在这里工作。。。尽管使用Qt4.8.5I,我尝试了所有可能的组合。{if{}else{},{if else},if{}else{}等。。但两者都不起作用。。我使用的是Qt4.7,但“两者都不起作用”不起作用。请显示命令行错误消息。还有,你试过4.8吗?你在Linux上用Qt4.7试过这个吗?它在这里工作得很好,所以我现在很好奇。@AmitTomar:一年多后它还没有解决吗??