0

ナビゲーション ペインが 1 つあり、main.qml で [戻る] ボタンを無効にしましたが、アプリの一部に [戻る] ボタンを再度表示したいと考えています。これを実装するにはどうすればよいですか?これが私のcppです

pane = qml->createRootObject<NavigationPane>();

    // Set created root object as the application scene
    app->setScene(pane);

    qml->setContextProperty("cppObj", this);

}

void ApplicationUI::onLoginClicked() {
    // create scene document from buttonclicked.qml asset
    // set parent to created document to ensure it exists for the whole application lifetime
    QmlDocument *qml = QmlDocument::create("asset:///projects.qml").parent(this);
    qml->setContextProperty("cppObj", this);
    Page* root = qml->createRootObject<Page>();
    pane->push(root);
}

void ApplicationUI::onAddClicked() {
    // create scene document from buttonclicked.qml asset
    // set parent to created document to ensure it exists for the whole application lifetime
    QmlDocument *qml = QmlDocument::create("asset:///addprojects.qml").parent(this);
    Page* root = qml->createRootObject<Page>();
    pane->push(root);
}

そして、ここに戻るボタンを無効にした私のメインがあります

NavigationPane {
    backButtonsVisible: false }

アプリの一部のセクションで戻るボタンをアクティブにするにはどうすればよいですか?

4

1 に答える 1

1

次のコードがあるとします。

スタートページ

import bb.cascades 1.0

NavigationPane {
    id: navPane

    Page {
        Container {
            horizontalAlignment: HorizontalAlignment.Fill
            verticalAlignment: VerticalAlignment.Fill
            layout: DockLayout {
            }
            Button {
                horizontalAlignment: HorizontalAlignment.Center
                verticalAlignment: VerticalAlignment.Center
                text: "Next Page"
                onClicked: {
                    var nextPage = page.createObject();
                    navPane.push(nextPage);
                }
            }
        }
    }

    attachedObjects: [
        ComponentDefinition {
            id: page
            source: "NextPage.qml"
        }
    ]
}

次のページ:

import bb.cascades 1.0

Page {
    // disables backButton (not peeking)
    paneProperties: NavigationPaneProperties {
            backButton: ActionItem {
            enabled: false
        }
    }

    // [0]
    Container {
        horizontalAlignment: HorizontalAlignment.Fill
        verticalAlignment: VerticalAlignment.Fill
        layout: DockLayout {
        }
        Button {
            horizontalAlignment: HorizontalAlignment.Center
            verticalAlignment: VerticalAlignment.Center
            text: "Prev page"
            onClicked: {
                var page = navPane.pop();
                if (page)
                    page.destroy();
            }
        }
    } // [0]

    // hides navigation bar
    onCreationCompleted: {
        navPane.backButtonsVisible = false;
    }
}

backButton次に、このコードで完全に無効にすることができますNextPage.qml

onCreationCompleted: {
    navPane.backButtonsVisible = false;
}

または、ナビゲーション ペインを表示し、[戻る] ボタンだけを無効にしたい場合は、同じNextPage.qmlファイルで次を使用します。

paneProperties: NavigationPaneProperties {
    backButton: ActionItem {
        enabled: false
    }
}

peekEnabledまた、プロパティを忘れないでください。ピーク BB10 機能を使用すると、ユーザーは画面上のボタンに触れずにスライドする指の動きを使用して兄弟ページ間を移動できます。

同様の方法で行うことができます:

onCreationCompleted: {
    navPane.peekEnabled = false;
}

それが役に立てば幸い。

于 2013-07-05T03:29:30.733 に答える