[Qt-interest] QWidget::setCursor() and qApp->processEvents()
Josh
jnfo-c at grauman.com
Thu Jul 29 05:44:55 CEST 2010
Hello all,
Before I do some calculations in my program I want to set the cursor
using: viewport()->setCursor(Qt::WaitCursor);
However, the cursor doesn't change because of the calculations. I don't
want to call qApp->processEvents() during the calculations because I
actually want the ui *not* to respond while the calculations are taking
place. So I was able to get the cursor to update BEFORE the calculations
as follows:
qApp->processEvents();
qApp->processEvents();
viewport()->setCursor(Qt::WaitCursor);
for(int i=0; i<20; i++)
qApp->processEvents();
do my calculations...
This is obviously a hack. I needed to call processEvents 20 times for the
cursor to update. Any less and the cursor wouldn't update before my
calculations. I would assume that on different machines I might need
different number of calls to processEvents(), which is undesirable. Anyone
have any ideas on the correct way to do this?
So in summary:
How can I make sure the cursor is changed before doing my calculations
when I don't want to call processEvents() during my calculations?
Thanks!
Josh
More information about the Qt-interest-old
mailing list