falconium
12th May 2011, 17:51
Hi,
I'm extracting and processing XML files that causes high CPU occupancy. This causes GUI freezing, so no update is occurring for neither progress bar nor for other elements.
void NESA::quickProcess()
{
qApp->processEvents();
}
I've put the following into the constructor:
timer = new QTimer(this);
timer->setInterval(1000);
connect(timer, SIGNAL(timeout()), this, SLOT(quickProcess()));
And before heavy computing I call timer.start();, and when it finishes I call timer.stop();
However, it is still the same. Any hint? Thanks!
Added after 16 minutes:
Does timer start a new thread, is this the reason?
"Calling this function processes events only for the calling thread."
I'm extracting and processing XML files that causes high CPU occupancy. This causes GUI freezing, so no update is occurring for neither progress bar nor for other elements.
void NESA::quickProcess()
{
qApp->processEvents();
}
I've put the following into the constructor:
timer = new QTimer(this);
timer->setInterval(1000);
connect(timer, SIGNAL(timeout()), this, SLOT(quickProcess()));
And before heavy computing I call timer.start();, and when it finishes I call timer.stop();
However, it is still the same. Any hint? Thanks!
Added after 16 minutes:
Does timer start a new thread, is this the reason?
"Calling this function processes events only for the calling thread."