2015-12-11 2 views
0

Я новичок в разработке Blackberry 10 и всем механизмом сигнального слота qt. Я пытаюсь зарегистрировать сигнал и слот, когда пользователь нажимает на другую вкладку в моем приложении Blackberry 10. У меня есть следующий код для моего интерфейса:Signal-Slot для 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*))); 

Моя проблема заключается в том, что он кажется TabbedPane не был найден, несмотря на то в пользовательском интерфейсе. Что я делаю неправильно? Кроме того, я правильно реализую сигнальный слот?

Заранее спасибо.

ответ

2

Вы также можете использовать onTriggered в QML, чтобы вы могли это сделать. Зависит от того, что вы хотите

Tab { 
    title: "Tab name" 
    onTriggered: { 

    } 
}, 

НО исправить вашу проблему напрямую, вы упускаете Objectname

TabbedPane { 
    id: mainTabbedPane 
    objectName: "mainTabbedPane" 
    showTabsOnActionBar: true 
    peekEnabled: true 
    sidebarState: SidebarState.VisibleFull 
    Tab { 
     ... 
    } //End of first tab 
    Tab { 
     ... 
    } //End of second tab 
Смежные вопросы