wxPython pop--up ("could not retrieve information...")

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • mistersulu

    wxPython pop--up ("could not retrieve information...")

    Hi all:

    I'm using a wx.ListView object with a multi-threaded wxPython app.
    The list is dynamically generated and accessed across two or more
    threads. In spite of the fact that I have checks to see if an item at
    a given index is in the list and the entire set of logic is contained
    within a try: except: block I periodically get pop-up windows stating
    "Could not retrieve information for list control item X" when I try to
    change or access the list items.

    I searched the web and groups for similar posts but can't find any
    solutions.

    My question is:

    Is there a setting somewhere in wxPython to either disable these pop-
    up messages or a semaphore or event locking method to enable cross-
    thread access to a listview object?

    Thanks in advance,
    sulu
  • Timothy Grant

    #2
    Re: wxPython pop--up ("could not retrieve information...& quot;)

    On Thu, Aug 7, 2008 at 11:36 AM, mistersulu <mistersulu@gma il.comwrote:
    Hi all:
    >
    I'm using a wx.ListView object with a multi-threaded wxPython app.
    The list is dynamically generated and accessed across two or more
    threads. In spite of the fact that I have checks to see if an item at
    a given index is in the list and the entire set of logic is contained
    within a try: except: block I periodically get pop-up windows stating
    "Could not retrieve information for list control item X" when I try to
    change or access the list items.
    >
    I searched the web and groups for similar posts but can't find any
    solutions.
    >
    My question is:
    >
    Is there a setting somewhere in wxPython to either disable these pop-
    up messages or a semaphore or event locking method to enable cross-
    thread access to a listview object?
    >
    Thanks in advance,
    sulu
    I haven't done any threaded apps, but my understanding is that the you
    should not manipulate the GUI outside of the main application thread.


    --
    Stand Fast,
    tjg. [Timothy Grant]

    Comment

    • Frank Niessink

      #3
      Re: wxPython pop--up (&quot;could not retrieve information...& quot;)

      Hi,

      2008/8/7 mistersulu <mistersulu@gma il.com>:
      Is there a setting somewhere in wxPython to either disable these pop-
      up messages or a semaphore or event locking method to enable cross-
      thread access to a listview object?
      Maybe this helps: http://wiki.wxpython.org/LongRunningTasks ?

      Cheers, Frank

      Comment

      • Mike Driscoll

        #4
        Re: wxPython pop--up (&quot;could not retrieve information...& quot;)

        On Aug 7, 1:36 pm, mistersulu <misters...@gma il.comwrote:
        Hi all:
        >
        I'm using a wx.ListView object with a multi-threaded wxPython app.
        The list is dynamically generated and accessed across two or more
        threads.  In spite of the fact that I have checks to see if an item at
        a given index is in the list and the entire set of logic is contained
        within a try: except: block I periodically get pop-up windows stating
        "Could not retrieve information for list control item X" when I try to
        change or access the list items.
        >
        I searched the web and groups for similar posts but can't find any
        solutions.
        >
        My question is:
        >
        Is there a setting somewhere in wxPython to either disable these pop-
        up messages or a semaphore or event locking method to enable cross-
        thread access to a listview object?
        >
        Thanks in advance,
        sulu
        Accessing the GUI's main thread in wxPython (and most other GUI
        toolkits) is a no-no. wxPython does provide a few thread-safe methods,
        such as wx.CallAfter and wx.PostEvent. Otherwise you'll end up
        blocking the GUI's main thread and the GUI will become unresponsive.
        Check out Frank's link for one way to deal with this issue or download
        the wxPython demo and check the threaded demo out.



        Also, I recommend joining the wxPython user's mailing list. They're
        are a lot of nice people there and you'll learn a lot.



        Mike

        Comment

        Working...