I'm assuming you're accessing this Queue in an idle loop maybe? How many items do you get out of it before you pass and wait for a re-invocation? Either way, you can try calling 'wx.Yield()' after each add to the GUI or every few or such, so the GUI can process events.
<br><br><div><span class="gmail_quote">On 7/17/07, <b class="gmail_sendername">Benjamin</b> <<a href="mailto:musiccomposition@gmail.com">musiccomposition@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I'm writing a search engine in Python with wxPython as the GUI. I have<br>the actual searching preformed on a different thread from Gui thread.<br>It sends it's results through a Queue to the results ListCtrl which
<br>adds a new item. This works fine or small searches, but when the<br>results number in the hundreds, the GUI is frozen for the duration of<br>the search. I suspect that so many search results are coming in that<br>the GUI thread is too busy updating lists to respond to events. I've
<br>tried buffer the results so there's 20 results before they're sent to<br>the GUI thread and buffer them so the results are sent every .1<br>seconds. Nothing helps. Any advice would be great.<br><br></blockquote>
</div>