--- Phil Thompson <[EMAIL PROTECTED]> wrote:
> On Tuesday 14 January 2003 7:20 pm, Olivier Roulet
> wrote:
> > I have got the following code where I post events
> from
> > a queue every 1s .
> > On windows with qt 2.3 this works fine. On linux
> with
> > Qt 3.04 the events are not
> >  received until an  X events is send to the
> windows.
> > Is this a bug or is my code wrong ?
> 
> Without looking at the code (so this may not be
> relevant) there are problems 
> with Qt threads under Windows which (I think) were
> eventually fixed in Qt 
> 3.1.1.
> 
> Phil

The problem was not on windows but on Linux with
qt3.0.4
But OK, this weekend I upgraded to PyQt 3.45 and
qt3.1.1 and the program is running again.
maybe a bug in Qt ? 
anyway now it works
Olivier


#!/usr/bin/env python

import sys,os

from qt import *

EVENTID=QEvent.User+20
class Queue(QThread):
        def __init__(self,target):
                QThread.__init__(self)
                self.mutex=QMutex()
                self.stop=False
                self.count=0
                self.target=target
        def run(self):
                while True:
                        if self.stop :
                                return
                        QApplication.postEvent(xv,QCustomEvent(EVENTID))
                        self.msleep(1000)
        def end(self):
                self.stop=True
class XV(QMainWindow):
        def __init__(self,parent,*args):
                QMainWindow.__init__(self,*args)
                MainWidget=QWidget(self)
                self.setCentralWidget(MainWidget)
                self.label=QLabel(MainWidget)
                self.label.setText("No event so far")
                self.queue=Queue(self)
                self.queue.start()
        def customEvent(self,ev):
                if ev.type()==EVENTID:
                        self.label.setText("event " + str(self.count))
                        self.count=self.count+1
app=QApplication(sys.argv[1:])
xv=XV(app)
app.setMainWidget(xv)
xv.show()
app.exec_loop()
xv.queue.end() 
xv.queue.wait()


__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

_______________________________________________
PyKDE mailing list    [EMAIL PROTECTED]
http://mats.gmd.de/mailman/listinfo/pykde

Reply via email to