okay, so it means your model is containing a lot of data, so I would suggest you making your own model which would do some lazy/delayed data loading:
1. You set your model to a view when it is still empty, so as fast as light :]
2. Now fire some method in model - let's call it load() - to load the data, lets say row by row, the loading is done in separate thread.
3. Your view can be updated on each row added (rowsInserted() and something like this).
4. The progress bar can be displayed until loading is finished.
This probably will take longer then just setting model like you have done it now, but will not freeze your GUI.
Bookmarks