[Qt-interest] QGraphicsScene problem
Scott Aron Bloom
Scott.Bloom at sabgroup.com
Sat Aug 29 10:48:43 CEST 2009
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 <mailto:Scott.Bloom at sabgroup.com>
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20090829/15106866/attachment.html
More information about the Qt-interest-old
mailing list