スレッドでダイアログを表示しようとしていますが、初めて表示されます。
を使用isAlert
しない場合、10 ~ 15 個のダイアログが表示されます
これが私のコードです:
bool isAlert;
void MyThread::ShowAlert(const QString &message)
{
if(!isAlert){
SystemDialog *myDialog = new SystemDialog(tr("OK"), 0);
myDialog->setTitle(tr("Alert"));
myDialog->setBody(message);
myDialog->setDismissAutomatically(true);
bool success = connect(myDialog,
SIGNAL(finished(bb::system::SystemUiResult::Type)),
this,
SLOT(onDialogFinished(bb::system::SystemUiResult::Type)));
if(success)
myDialog->show();
}
}
void MyThread::onDialogFinished(bb::system::SystemUiResult::Type){
isAlert=false;
}
MyThread::run(){
while(true){
...
if(...){
ShowAlert("Some text");
}
}
}
onDialogFinished はまったく機能していません。
ここで何か不足していますか?