[PyKDE] PyQt4 subclass of QApplication

Frode Øijord frodo at sim.no
Tue Jul 25 11:05:30 BST 2006


Hi,
I am developing a Qt4 application that uses PyQt4 and Pivy, the python 
binding for Coin3D. I have subclassed QApplication and use QTimers to 
trigger event processing in Coin3D.

The CoinQt4App looks something like this.

class CoinQt4App(QApplication):
    def __init__(self, args):
        QApplication.__init__(self, args)

        self.idletimer = QTimer(self)
        self.timerqueuetimer = QTimer(self)
        self.delaytimeouttimer = QTimer(self)
       
        self.idletimer.setSingleShot(True)
        self.timerqueuetimer.setSingleShot(True)
        self.delaytimeouttimer.setSingleShot(True)
       
        self.connect(self.idletimer, SIGNAL("timeout()"), self.idle)
        self.connect(self.timerqueuetimer, SIGNAL("timeout()"), 
self.timeout)
        self.connect(self.delaytimeouttimer, SIGNAL("timeout()"), 
self.delaytimeout)

        
SoDB.getSensorManager().setChangedCallback(self.sensorQueueChanged, None)
        self.connect(self, SIGNAL("lastWindowClosed()"), self.quit)



The problem is, that when I shut down the application python hangs and 
spits out the message
"QObject::killTimer: timers cannot be stopped from another thread"

I'm no guru on threading so I'm kind of lost here... Any ideas?

Frode




More information about the PyQt mailing list