1

リスト ビュー ボタンがクリックされたときにページをプッシュする必要があります。以下のコーディングを試しましたが、うまくいきません。

ListItemComponent {
    type: "imageItem"
    Container {
        id: publicimageItem
         ......

         ......

        ImageButton {
            defaultImageSource: "asset:///defaultimg.png"
            pressedImageSource: "asset:///pressedimg.png" 

            onClicked: {
                var new_page = publicimageItem.ListItem.view.nextpage.createObject();
                publicimageItem.ListItem.view.navigationPane.push(new_page);
            }
            attachedObjects: [
                ComponentDefinition {
                    id: nextpage
                    source: "NextPage.qml"
                }
            ]
        }// ImageButton
    }// Container
}// ListView

リストビューの外で試してみると、問題なく次のページに移動します。

4

2 に答える 2

1

オブジェクトをグローバル変数に保存する別の最も簡単な方法は、次のコードを使用してうまく動作します。

     onCreationCompleted: {
     Qt.tabbedPane = tabbedPane;
     Qt.homeTab = homeTab;
    }   

ここでは、ページ作成完了時に tabbedPane をグローバル変数 Qt.tabbedPane に格納しました。これで、Qt.tabbedPane を使用して ListItemComponent からアクセスできるようになりました。

あなたの場合、ナビゲーション ペインを Qt.navigationPane=NavigationId に保存し、ListItemComponent から Qt.navigationPane としてアクセスしてみてください。

それが役立つことを願っています。

それが役に立てば幸い。

于 2013-04-02T11:46:46.660 に答える
0

へのパスNextPage.qmlとページ自体が有効で適切に設定されていることを示唆し、コードをonClicked()次のように変更することをお勧めします。

var new_page = nextpage.createObject();
navigationPane.push(new_page);

ここで、navigationPane にアクセスできることを確認してください。前述のbarryのように、コンソール ログを有効にする (または端末の slog2info ユーティリティを使用する) ことをお勧めします。このようにして、コードで何が起こっているのか、そしてその理由を確認できます。

onTriggered()別のバリアントとして、(特定のウィジェットではなく) listitem 全体を操作して他のページに移動する場合は、スロットに同じコードを配置する必要があります。

ListView {
    ListItemComponent {
        type: "imageItem"
        Container {
            id: publicimageItem
             ......
        }// Container
    }// ListItemComponent

    onTriggered: {
        var new_page = nextpage.createObject();
        navigationPane.push(new_page);
    }

    attachedObjects: [
        ComponentDefinition {
            id: nextpage
            source: "NextPage.qml"
        }
    ]    
} // ListView    
于 2013-02-25T00:04:37.433 に答える