2015-02-06 14 views
7

Bazı dış işlevlerden Loader ürününün sourceComponent özelliklerinin bazılarını okumalı veya yazmam gerekebilir.Yükleyicinin sourceComponent içindeki QML nesnesine nasıl erişilir?

Bu Loader ürününün x ürününe erişim yolu nedir? sourceComponent?

import QtQuick 2.0 

Item { 
    width: 200; height: 200 

    Loader { 
     anchors.fill: parent 
     sourceComponent: rect 
    } 

    Component { 
     id: rect 
     Rectangle 
     { 
      width: 50 
      height: 50 
      color: "red" 
      property int x 
     } 
    } 
} 

cevap

12

dışarıdan bir iç nesne/özellik duyurmak gerektiğinde, bunun için ayrı bir alias oluşturmalıdır.

import QtQuick 2.0 

Item { 
    width: 200; height: 200 
    property alias loaderItem: loader.item 

    Loader { 
     id: loader 
     anchors.fill: parent 
     sourceComponent: rect 
    } 

    Component { 
     id: rect 
     Rectangle 
     { 
      width: 50 
      height: 50 
      color: "red" 
      property int x 
     } 
    } 
} 
+0

Bu, x'e erişimde nasıl yardımcı olur? – vsz

+1

@vsz 'loaderItem.x' üzerinden erişebilirsiniz – GrecKo

+0

Harici dosyalar durumunda,' loader.source: 'birşey.qml '' ile çalışmış gibi görünmüyor. Birkaç deneme yapıp gerekirse yeni bir soru yayınlayacağım. – vsz

İlgili konular