2013-08-27 93 views
0

我有一個名爲name的屬性,它依賴於索引,列表視圖的委託的一部分。我曾寫過這樣的代碼:使用時出現意外的令牌錯誤

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)中,我開始一個奇怪的錯誤:

意外令牌'如果」 屬性字符串名稱:如果(指數== 0)

預計限定名ID 「ABC」

有人可以提出一個想法什麼可能是錯的?

+2

只是一個猜測:Qt5 = qtquick 2. Qt4 = qtquick 1.也許您使用了qtquick 2功能,這在qtquick 1中不起作用? – Greenflow

+0

我想說的是,在Qt4.7中,你不能用多個'if/else'來定義'property'。你嘗試調用一個函數嗎? – koopajah

+0

@Greenflow這看起來不像一個新的'功能'。否則我已經做了必要的更改(將導入語句更改爲QtQuick 1.0)。 –

回答

0

雖然您可能需要將if/else if/else if /.../ else包裝到{}中,但它起作用。

+0

您嘗試過{if .... else ...}還是if(){} else {}或兩者?它在這裏工作...雖然使用Qt 4.8.5 – lpapp

+0

@AmitTomar:這兩個工作中的任何一個(它應該)? – lpapp

+0

我嘗試了所有可能的組合。 {if {else} {}},{if else},if {else else {} etc ..但都不起作用..但我使用Qt 4.7 .. –