2014-11-04 48 views
0

我有以下問題,使用Qml和使用字體時彈出。如何在JavaScript中使用Qml Fonttype?

我使用下面的代碼,以不同大小的字體之間動態地選擇:

function getValueFontDefault(valueAreaHeight, valueAreaWidth) { 
    var fonts = [font0, 
       font1, 
       font2, 
       font3] 

    for(var fontCandidate in fonts){ 
     if (fontCandidate.pixelSize <= valueAreaHeight){ 
      checkTextDummy.font = fontCandidate; 

      if(checkTextDummy.paintedWidth <= valueAreaWidth){ 
       break; 
      } 
     } 
    } 
    return fontCandidate; 
} 

Text{ 
    id: checkTextDummy 
    visible: false 
    text: "this is the longest example text thinkable" 
} 

的字體是設爲Qml「字體」型的。我的問題是,JavaScript無法將它們放在「var」中。它總是說,fontCandidate.pixelSize是未定義的。不使用循環遍歷不同的字體,而是明確使用它們(即font0.pixelSize),它可以工作。

那麼如何處理JavaScript中的Qml字體呢?將變量放入變量並與它們一起工作的正確方法是什麼?

非常感謝您的幫助!

來自德國的問候

回答

1

好吧,我發現了這個問題。它與Qml和javascript沒有任何關係,但是由於我對js的知識缺乏。

事實上for循環沒有for_each,因爲我假設。它們對於循環很簡單。所以把它正確它變成:

for(var idx in fonts){ 
     var fontCandidate = fonts[idx] 
     checkTextDummy.font = fontCandidate 

然後它按預期工作。無論如何,謝謝你的幫助。