我是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。我做错了什么?另外,我是否正确实现了信号槽?
提前谢谢。
答案 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