I have a class that inherits from QMainWindow called CMainForm.

I have a menu action that triggers a method called menuPackageLogs().

At the begining of the method I set the cursor to Qt::WaitCursor, and at the end I set it back to Qt::ArrowCursor. In between I call a routine that blocks for a while. The problem is that my cursor never changes. It is always an arrow, never an hour glass.

I must be missing something fundemental here.
Here is an example of the method that gets called:

Qt Code:
  1. void CMainForm::menuPackageLogs()
  2. {
  3. // Change cursor to wait cursor
  4. setCursor(QCursor(Qt::WaitCursor));
  5.  
  6. bool bRet = UpgradeUtils::PackageLogs();
  7.  
  8. // Change cursor back to standard arrow
  9. setCursor(QCursor(Qt::ArrowCursor));
  10.  
  11. if (bRet == true)
  12. {
  13. QMessageBox::warning(this, tr("Package Logs"),
  14. "Upgrade log files successfully packaged.");
  15. }
  16. else
  17. {
  18. QMessageBox::warning(this, tr("Package Logs"),
  19. "Could not package Upgrade log files.");
  20. }
  21. }
To copy to clipboard, switch view to plain text mode 

If anyone has any ideas, I am all ears. Thanks.