[Qt-interest] QGraphicsScene problem

Patric userqt at gmail.com
Sat Aug 29 10:53:50 CEST 2009


Well, it seems it's working... to some extend. The items are changing, moving... but somethimes. 
  ----- Original Message ----- 
  From: Scott Aron Bloom 
  To: qt-interest at trolltech.com 
  Sent: Saturday, August 29, 2009 11:48 AM
  Subject: Re: [Qt-interest] QGraphicsScene problem


  Not directly no.

   

  You can only modify a GUI object from the GUI thread.

   

  Use a auto connected signal to communicate from the worker thread to the GUI

   

  Scott

   

  From: Patric [mailto:userqt at gmail.com] 
  Sent: Saturday, August 29, 2009 1:46 AM
  To: Scott Aron Bloom; qt-interest at trolltech.com
  Subject: Re: [Qt-interest] QGraphicsScene problem

   

  Can I operate on QGraphicsScene from different thread, not the main thread ? 

    ----- Original Message ----- 

    From: Scott Aron Bloom 

    To: qt-interest at trolltech.com 

    Sent: Saturday, August 29, 2009 11:21 AM

    Subject: Re: [Qt-interest] QGraphicsScene problem

     

    The timer is owned/constructed in one theread, and is being started/stoped by the worker thread.

     

    Try calling moveToThread to move the timers into the worker thread.

     

    Scott

     

    From: qt-interest-bounces at trolltech.com [mailto:qt-interest-bounces at trolltech.com] On Behalf Of Patric
    Sent: Saturday, August 29, 2009 1:11 AM
    To: qt-interest at trolltech.com
    Subject: [Qt-interest] QGraphicsScene problem

     

    Hello guys, 

    I have QGraphicsScene here with items on it. 

     

    I have manual control (i.e. keyboard events) and also auto control (through a thread which makes all the calculations where these QPixmapItems should interact). 

     

    When I control them, everything is OK. 

    But when I start the auto control, i.e. my thread which simulates the actions, I'm observing a very strange behaviour. It's a game actually, it's turn based. 

    So somethimes the objects on the board are just not moving on their turns. 

     

    I have implemented this simulation engine with the technique used in the Mandelbrot example. 

     

    In my MainWindow class I have instance of the engine thread, and when some button in the GUI is pressed MainWindow calls a method in the thread (directly), which wakes the thread. 

    And I'm getting this shit : 

     

    QObject::killTimer: timers cannot be stopped from another thread 

    QObject::startTimer: timers cannot be started from another thread

    QObject::killTimer: timers cannot be stopped from another thread

    QObject::startTimer: timers cannot be started from another thread

    QObject::killTimer: timers cannot be stopped from another thread

    QObject::startTimer: timers cannot be started from another thread

     

    Any ideas why ? 

     

    Regards, 

    Patric

     

    p.s.:in the end of the thread's run method there is sleep call also. 


----------------------------------------------------------------------------

    _______________________________________________
    Qt-interest mailing list
    Qt-interest at trolltech.com
    http://lists.trolltech.com/mailman/listinfo/qt-interest



------------------------------------------------------------------------------


  _______________________________________________
  Qt-interest mailing list
  Qt-interest at trolltech.com
  http://lists.trolltech.com/mailman/listinfo/qt-interest
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20090829/961b4c07/attachment.html 


More information about the Qt-interest-old mailing list