[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    Re: [PyKDE] QtEvent
From:       Carles Pina i Estany <carles () pina ! cat>
Date:       2006-10-28 8:58:02
Message-ID: 20061028085802.GA5512 () pinux ! info
[Download RAW message or body]


Hello again!

On Oct/27/2006, Carles Pina i Estany wrote:

> In the previous application, to communicate from one thread to another one I
> have:
> 
> def sendInformation(id,s,gui):
>         event = QEvent(id)
>         event.setData(s)
>         QApplication.postEvent(gui,event)

> In the new Qt version it seems that I have to subclass from QEvent to do the
> same. I have done some tests without good result. 

Now I have done it. I send my solution here for information for newcommers of
for if experts has better way to do it.

In my thread:

#gui: main widget
#id: message number
#s: message contents
def sendInformation(id,s,gui):
        number=QtCore.QEvent.Type(QtCore.QEvent.User+1)
	event=QtCore.QEvent(number)
	QtGui.QApplication.sendEvent(gui,event)


In QMainWindow constructor I have added:
self.installEventFilter(self)

And then this method:
        def eventFilter(self,object,event):
                if (event.type() == QtCore.QEvent.Type(QtCore.QEvent.User+1)):
                        print "Here"
                        return True
                        #self.progressbar.setProgress(int(a0.data()))

                return QtGui.QWidget.eventFilter(self,object,event);

Thanks!

-- 
Carles Pina i Estany		GPG id: 0x8CBDAE64
	http://pinux.info	Manresa - Barcelona

_______________________________________________
PyKDE mailing list    PyKDE@mats.imk.fraunhofer.de
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic