wxPython, searching, and threads

B

Benjamin

Hello! I am writing a search engine with wxPython as the GUI. As the
search thread returns items, it adds them to a Queue which is picked
up by the main GUI thread calling itself recursively with
wx.CallAfter. These are then added to a ListCtrl. This works fine for
small searches, but with larger and longer searchs the GUI is clogged
and won't respond. I suspect (I may be wrong) that there are so many
results being sent to the ListCtrl that the event loop doesn't have
time to respond to events. I've tried buffering the results before
sending them to the GIU, but that doesn't help at all. Please advise.
 
K

kyosohma

Hello! I am writing a search engine with wxPython as the GUI. As the
search thread returns items, it adds them to a Queue which is picked
up by the main GUI thread calling itself recursively with
wx.CallAfter. These are then added to a ListCtrl. This works fine for
small searches, but with larger and longer searchs the GUI is clogged
and won't respond. I suspect (I may be wrong) that there are so many
results being sent to the ListCtrl that the event loop doesn't have
time to respond to events. I've tried buffering the results before
sending them to the GIU, but that doesn't help at all. Please advise.

The standard wxPython user's group reply to a question like this is,
check out http://wiki.wxpython.org/LongRunningTasks. I've used a
variation of what's on this page to create a fairly complex installer
than keeps a textctrl updated with its progress. Since the installer
runs for almost an hour, I think this method works great.

Admittedly, you work with threads, which is intimidating to some
degree and if you use WMI, then you'll need to use some special
commands to make it work in a thread.

The wxPython mailing list is here: http://www.wxpython.org/maillist.php

Hope that helps.

Mike
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top