2012-04-25 52 views
1

我在QML中有以下代碼片段,但我懷疑Repeater元素內部的語句沒有執行。如何驗證QML元素是否已加載?

有沒有辦法通過它我可以調試這些,我知道有本作的直放站元素的日誌屬性,但我不知道如何使用它。

import QtQuick 1.1 

Item { 
    id: screen 

    width: 1024 
    height: 600 

    /*Loading Screen*/ 
    Interactive {id: interactive} 
    Loading {id: loading;} 

    /*Application Components*/ 
    Pif {id: pif} 
    Config {id: config} 
    Media {id: media} 


    Repeater { 
     model: config.launchers 
     delegate: Loader { 
      id:loader 
      anchors.fill: parent 
      source: file 
      onStatusChanged: { 
       if (loader.status == Loader.ready) 
       { 
        loading.opacity = 0 
        loading.visible = false 
       } 
      } 
     } 

    } 

    Fullscreen {id: fullscreen} 
} 

回答

2

嘗試Component.onCompleted

Repeater { 
    // ... 
    delegate: Loader { 
     id:loader 
     Component.onCompleted: console.log("Loader", loader.status) 
     // ... 
    } 
} 
+0

我的裝載機沒有加載。即使它沒有加載您提供的上述代碼片段。你知道是什麼導致了這個問題?提前致謝 !! – Kalx 2012-04-25 22:38:47

+0

假設'Repeater'是一個ListView',並且'Delegate'是ListView.delegate的別名,它應該可以工作..模型是否填充了任何項目? – sergk 2012-04-26 07:21:54

+0

是的模型是填充和我使用XmlListModel。 – Kalx 2012-04-26 18:54:45

相關問題