the qmessagebox is in the below void that will loop every 5 sec. and so the messagebox will popup every 5 sec as well, is there a way to let the message box just pop up once? but at the same time, the void is still looping every 5 sec??

Qt Code:
  1. void Node::updateData(int index)
  2. {
  3. //setNodeData(index);
  4.  
  5. DB_OPEN
  6. NodeDb::DATA *pData;
  7. pNodeDb->getData(index, &pData);
  8.  
  9. nodeData.temp= pData->temp;
  10. nodeData.voltage = pData->voltage;
  11. nodeData.type = pData->type;
  12. nodeData.strength = pData->strength;
  13. nodeData.re = pData->re;
  14. nodeData.t_time_on = pData->t_time_on;
  15.  
  16. nodeData.fadeNumber=pData->fadeNumber;
  17. nodeData.fadeTime =pData->fadeTime ;
  18. nodeData.newNode=pData->newNode;
  19. nodeData.deletedNode=pData->deletedNode;
  20.  
  21. setColor(nodeData.type);
  22.  
  23. if (pData->status == NodeDb::DS_MOVE)
  24. {
  25. newPos.setX(pData->xpos);
  26. newPos.setY(pData->ypos);
  27. advance();
  28. }
  29.  
  30. if (nodeData.addr==0){
  31. nodeData.fadeNumber = 255;//pData->fadeNumber;
  32. //ap_counter=apcount;
  33. updated = true;
  34. update();
  35. if (!updateTimerId)
  36. {
  37. updateTimerId = startTimer(200);
  38. }
  39. }
  40.  
  41. timeStamp.restart();
  42.  
  43. if (nodeData.addr!=0)
  44. {
  45. updated = true;
  46. update();
  47. if(nodeData.temp > ((alertTemp*9)/5+32.0)||(edStrength > alertDistance))
  48. {
  49. QSound::play("sound/alert.wav");
  50. QMessageBox::critical(NULL, tr("Alert"), tr("High temperature is being detected!!!"));
  51. }
  52. }
  53. }
To copy to clipboard, switch view to plain text mode