[clug] long run function in trolltech qt widget
Brad Hards
bradh at frogmouth.net
Wed Dec 3 05:59:20 GMT 2008
On Wednesday 03 December 2008 04:02:13 pm jm wrote:
> I have a function which I didn't write, lets call this
> long_run(), which takes a few seconds to run. Luckily it takes a call
> back function, label this callback(), which it calls every now and then
> so you know things are progressing nicely. What I wish to do is display
> a wizard (using QWizard) so that the user can enter the required data
> and be stepped through the process then in one of the wizards pages run
> long_run() and display a QProgressBar to indicate that things are going
> on in the background. I've worked out how to pass C++ classes though C
> call and to get them execute (or at least not to crash). The problem is
> that I haven't worked out how to make the call to long_run() so that it
> starts when the relevent wizard page is displayed. I've tried
> implementing show() but that waits for the call to finish before
> displaying the page.
The normal approach would be to connect the accepted() signal to a custom slot
that executes long_run().
However to show any GUI stuff changing, you need to return to the event loop.
How is long_run() returning control to the event loop? Are you dividing up
the run into multiple steps, or are using some kind of threading approach?
Brad
More information about the linux
mailing list