is there anything wrong with the following code? how come the %s display a square insstead of the word i want??

Qt Code:
  1. if (nodeData.addr==1)
  2. {
  3. nodeName = "room";
  4. }
  5. else if (nodeData.addr==2)
  6. {
  7. nodeName = "bed";
  8. }
  9. else if (nodeData.addr==3)
  10. {
  11. nodeName = "kitchen";
  12. }
  13. else
  14. {
  15. nodeName = "End Device";
  16. }
  17.  
  18. if (nodeData.addr==0) //node 0
  19. {
  20. // Write node number
  21. //qsTemp.sprintf("Node: %d", nodeData.addr);
  22. qsTemp.sprintf("Access Point");
  23. //xpainter->setFont(addrFont);
  24. painter->setFont(timeFont);
  25. painter->drawText(-50,-15,100,20,Qt::AlignCenter , qsTemp,0);
  26. }
  27. else
  28. {
  29. // Write node number
  30. qsTemp.sprintf("%s %d" ,nodeName, nodeData.addr );
  31. //xpainter->setFont(addrFont);
  32. painter->setFont(timeFont);
  33. painter->drawText(-50,-22,100,20,Qt::AlignCenter , qsTemp,0);
  34. }
To copy to clipboard, switch view to plain text mode