TabbedPane Blackberry 10的信号槽

时间:2015-12-11 19:29:54

标签: c++ qt blackberry blackberry-10

我是Blackberry 10开发的新手和整个qt信号槽机制。 我试图在用户点击Blackberry 10本机应用程序中的不同选项卡时注册信号和插槽。我的UI有以下代码:

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*)));

我的问题是,尽管在UI中似乎没有找到TabbedPane。我做错了什么?另外,我是否正确实现了信号槽?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

你也可以在QML中使用onTriggered,这样你就可以这样做。取决于你想要的东西

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