2015-12-11 3 views
0

Je suis un débutant pour le développement Blackberry 10 et l'ensemble du mécanisme de slot de signal qt. J'essaie d'enregistrer un signal et un emplacement pour lorsqu'un utilisateur clique sur un onglet différent dans mon application native Blackberry 10. Je le code suivant pour mon interface utilisateur:Signal-Slot pour TabbedPane Blackberry 10

TabbedPane { 
    id: mainTabbedPane 
    showTabsOnActionBar: true 
    peekEnabled: true 
    sidebarState: SidebarState.VisibleFull 
    Tab { 
     ... 
    } //End of first tab 
    Tab { 
     ... 
    } //End of second tab 
    ... 

applicationui.cpp

AbstractPane *appPane = qmlDocument->createRootObject<AbstractPane>(); 

    if (appPane) { 
     // Set the main application scene to NavigationPane. 
     Application::instance()->setScene(appPane); 
    } 

    TabbedPane* tabbedPane = appPane->findChild<TabbedPane*>("mainTabbedPane"); 
    qDebug("Pane: %p", tabbedPane); 

    QObject::connect(tabbedPane, SIGNAL(activeTabChanged(bb::cascades::Tab*)), SLOT(sectionTriggered(bb::cascades::Tab*))); 

Mon problème est qu'il semble que le TabbedPane on ne trouve pas en dépit d'être dans l'interface utilisateur. Qu'est-ce que je fais mal? Aussi, je suis en train de mettre en œuvre le slot de signal correctement?

Merci à l'avance.

Répondre

2

Vous pouvez également utiliser onTriggered dans QML, ce qui vous permet de l'obtenir de cette façon. Tout dépend de ce que vous voulez

Tab { 
    title: "Tab name" 
    onTriggered: { 

    } 
}, 

Mais pour résoudre votre problème directement, vous manquez objectName

TabbedPane { 
    id: mainTabbedPane 
    objectName: "mainTabbedPane" 
    showTabsOnActionBar: true 
    peekEnabled: true 
    sidebarState: SidebarState.VisibleFull 
    Tab { 
     ... 
    } //End of first tab 
    Tab { 
     ... 
    } //End of second tab