我正在开发一个 BB10 应用程序。
我有一个包含登录按钮的 QML 文件。
当用户单击登录按钮时,应加载另一个包含用户名和密码文本框以及两个按钮提交和取消的 QML 文件。
单击取消按钮时,用户应返回包含登录按钮的初始 QML。
如何使用 C++ 完成这样的场景
我正在开发一个 BB10 应用程序。
我有一个包含登录按钮的 QML 文件。
当用户单击登录按钮时,应加载另一个包含用户名和密码文本框以及两个按钮提交和取消的 QML 文件。
单击取消按钮时,用户应返回包含登录按钮的初始 QML。
如何使用 C++ 完成这样的场景
您可以在单击登录按钮时编写一个函数来加载下一个 qml 文件。
ApplicationUI::ApplicationUI(bb::cascades::Application *app) :
QObject(app) {
QmlDocument *loginQml = QmlDocument::create("asset:///Login.qml").parent(
this);
loginQml->setContextProperty("myApp", this);
rootLogin = loginQml->createRootObject<AbstractPane>();
rootLogin->setParent(this);
QmlDocument *secondPage = QmlDocument::create("asset:///SecondPage.qml").parent(
this);
secondPage->setContextProperty("myApp", this);
rootSecond = secondPage->createRootObject<AbstractPane>();
rootSecond->setParent(this);
callFirstQml();
}
void ApplicationUI::callFirstQml() {
Application::instance()->setScene(0);
Application::instance()->setScene(rootLogin);
}
void ApplicationUI::callSecondQml() {
Application::instance()->setScene(0);
Application::instance()->setScene(rootSecond);
}
猜猜这对你有用。确保在头文件中将函数名称写为 QINVOKABLE。rootLogin 和 rootSecond 也应该写在头文件中,因为,
private:
bb::cascades::TabbedPane *rootLogin;
bb::cascades::TabbedPane *rootSecond;