如何使用Cascades,Blackberry 10中的Qt / QML / C ++从另一个qml文件更改一个qml文件中的标签文本?

时间:2013-08-14 08:12:44

标签: c++ qt qml blackberry-10 blackberry-cascades

说资产文件夹中的一个文件是RoomDetails.qml

import bb.cascades 1.0
import "commons"

Page {
    Container {
         PageHeader{}

         //rest of the code
    }  
 }

assets / commons文件夹中的另一个文件是PageHeader.qml

import bb.cascades 1.0


    Container {
         Label {
             id: dynamicLabel
         }

         //rest of the code
     }

现在,我想将dynamicLabel.textRoomDetails.qml更改为'会议室详细信息',类似于其中包含PageHeader的其他qml文件。这个问题的解决方案是什么?它可以使用Qt或QML或C ++。提前致谢。

1 个答案:

答案 0 :(得分:3)

首先,我认为你不需要将Page作为PageHeader的根元素。

Follwing是PageHeader的外观,你可以定义一个属性标题,如下所示,你可以从创建它的QML访问它。

import bb.cascades 1.0

Container {
    property alias title: dynamicLabel.text
    Label {
        id: dynamicLabel
    }
    //rest of the code
}

在RoomDetais QML中,您可以使用如下的PageHeader,并通过访问标题属性来访问标签。

import bb.cascades 1.0
import "commons"

Page {
    Container {
         PageHeader{
             title: "Room Details"
         }
         //rest of the code
    }  
 }