Qml BB 10应用程序将在离线时终止
在我的应用程序中,当BB 10设备处于脱机状态时。。。我需要显示一个对话框与“确定”按钮。按下“确定”按钮应终止应用程序Qml BB 10应用程序将在离线时终止,qml,blackberry-10,blackberry-cascades,Qml,Blackberry 10,Blackberry Cascades,在我的应用程序中,当BB 10设备处于脱机状态时。。。我需要显示一个对话框与“确定”按钮。按下“确定”按钮应终止应用程序 SystemDialog *dialog; dialog = new SystemDialog(tr("OK"), 0); dialog->setTitle(tr("Alert")); dialog->setBody(message); dialog->setDismissAutomatically(true);. connect(dialog, SI
SystemDialog *dialog;
dialog = new SystemDialog(tr("OK"), 0);
dialog->setTitle(tr("Alert"));
dialog->setBody(message);
dialog->setDismissAutomatically(true);.
connect(dialog, SIGNAL(finished(bb::system::SystemUiResult::Type)), dialog,
SLOT(deleteLater()));
dialog->show();
这里deleteLater()是SystemSlot,它只终止警报对话框,而不终止应用程序!!!如何通过C++代码在BB 10级联中实现这一点?是否可以像这样覆盖deleteLater()系统插槽
// I replaced deleteLater() with SLOT(deleteLaters()) in above code and Added this Slot
void deleteLaters(){
bb::Application::exit(0);
}
然后它说,在bb::System中找不到这样的插槽deleteLaters()
请帮忙
谢谢 我猜您只是想将
SystemDialog
finished
信号连接到同一对象的deleteLaters
插槽(该插槽不存在)
尝试下一个代码,其中myObject
可能就是this
,如果您在类中声明了槽位
int connectResult = connect(dialog,
SIGNAL(finished(bb::system::SystemUiResult::Type)),
myObject,
SLOT(deleteLaters()));
Q_ASSERT(connectResult);
Q_RESULT(connectResult);
有关如何在类中正确声明新插槽的更多信息,请参阅文档
注意:如果您真的需要关闭应用程序(这是不推荐的),我相信您应该使用application::instance->requestExit()
来正确地完成。如果在关闭应用程序之前不需要执行任何其他操作,可以直接将信号连接到requestExit()
插槽:
int connectResult = connect(dialog,
SIGNAL(finished(bb::system::SystemUiResult::Type)),
Application::instance,
SLOT(requestExit()));
Q_ASSERT(connectResult);
Q_RESULT(connectResult);
我同意你的帖子,谢谢,但如何知道BB10设备是否离线?我试过这个,但即使我在线,我也会在控制台上离线。我正在模拟器中测试这个。在真正的BB 10设备上也有同样的工作吗