如何在 Cascades、Blackberry 10 中使用 Qt/QML/C++ 从另一个 qml 文件中更改一个 qml 文件中的标签文本?
Posted
技术标签:
【中文标题】如何在 Cascades、Blackberry 10 中使用 Qt/QML/C++ 从另一个 qml 文件中更改一个 qml 文件中的标签文本?【英文标题】:How do I change the label text in one qml file from another qml file using Qt/QML/C++ in Cascades, Blackberry 10? 【发布时间】:2013-08-14 08:12:44 【问题描述】:假设资产文件夹中的一个文件是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.text
从 RoomDetails.qml
更改为“房间详细信息”,并且类似地从包含 PageHeader
的其他 qml 文件中更改。这个问题的解决方案是什么?可以使用 Qt 或 QML 或 C++。提前致谢。
【问题讨论】:
【参考方案1】:首先,我认为您不需要将 Page 作为 PageHeader 的根元素。
以下是 PageHeader 的外观,您可以定义一个属性标题,如下所示,您可以从创建它的 QML 访问它。
import bb.cascades 1.0
Container
property alias title: dynamicLabel.text
Label
id: dynamicLabel
//rest of the code
在 RoomDetais QML 中,您可以像下面这样使用 PageHeader,并通过访问它的 title 属性来访问标签。
import bb.cascades 1.0
import "commons"
Page
Container
PageHeader
title: "Room Details"
//rest of the code
【讨论】:
对不起,我的 PageHeader 代码和你的一样。这两天没睡。感谢您指出错字。 我从 PageHeader 中删除了 Page 作为根元素,现在根是 Container 我对 PageHeader 的句子有点不正确,我改了以上是关于如何在 Cascades、Blackberry 10 中使用 Qt/QML/C++ 从另一个 qml 文件中更改一个 qml 文件中的标签文本?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Blackberry Cascades qml 和 qt 中点击列表项组件
如何在 Blackberry Cascades、QML 和 C++、QT 的列表视图中获取 Web 视图
Blackberry Cascades 上下文菜单从按钮单击
我的 Blackberry 10 Cascades(C++、Qt 和 QML)示例应用程序在启动时崩溃并出现以下错误