gpt4 book ai didi

c++ - 如何在 BB 10 级联中加载第二个 .qml 文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:49:23 25 4
gpt4 key购买 nike

我想要的是,对于一个按钮(在 one.qml 中)单击加载一个单独的 .cpp 文件(second .cpp) 并在该 .cpp 文件中调用 second.qml 文件。我如何使用 BB10 C++ 编码来做到这一点。但不使用 QML 编码。我已经用 QML 编码完成了,但这不是我想要的。

如果我与 Android 开发进行比较,我们从一个 Activity 调用第二个 Activity,它有一个单独的 .xml 文件。这正是我想在 BB10 中测试的内容。

最佳答案

要从 C++ 加载新的 QML 文档,您必须使用类似的东西:

bb::cascades::QmlDocument *qml = bb::cascades::QmlDocument::create("asset:///yourSecondFile.qml");
// You can define properties for your page
qml->setContextProperty("_propertyName", yourObject);
bb::cascades::Page *secondPage = qml->createRootObject();

参见 QmlDocument文档以获取有关您可以对文档执行的操作的完整说明。

所以,现在,您有了自己的 Page (或任何其他组件)。例如,您需要将其推送到 NavigationPane 上.你可以这样做:

// Create a back button
bb::cascades::ActionItem* backAction = bb::cascades::ActionItem::create()
.title(tr("Previous page"))
.imageSource(QUrl("asset:///back.png"))
.onTriggered(navigationPane, SLOT(pop())
);

// Push the page
navigationPane->push(page
.paneProperties(bb::cascades::NavigationPaneProperties::create()
.backButton(backAction)
)
);

关于c++ - 如何在 BB 10 级联中加载第二个 .qml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18141750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com