[PyQt] QudpSocket and QThread
emmanuel_mayssat at lynceantech.com
emmanuel_mayssat at lynceantech.com
Tue Aug 23 17:58:19 BST 2011
Hello,
I am trying to put a QUdpSock et in a QThread
Code is:
class LUdpConnectionThread(QThread):
def __init__(self, parent=None):
super(LUdpConnectionThread,self).__init__(parent)
self.debug = (DEBUG & THREADS)
@LInAndOut(DEBUG & THREADS)
def run(self):
'''
Note: QObject: Cannot create children for a parent that is in a different thread.
was resolved because self.socket to socket (no self!) !
'''
if self.debug: print "UDP Server on %d" % UDP_PORT
udpSocket = QUdpSocket()
#self.udpSocket.bind(QHostAddress.LocalHost,UDP_PORT)
udpSocket.bind(QHostAddress("0.0.0.0"),UDP_PORT)
udpSocket.readyRead.connect(self.on_udpSocket_readyRead)
@LInAndOut(DEBUG & THREADS)
def on_udpSocket_readyRead(self):
if self.debug: print 'toto'
# datagram, senderHost, senderPortNumber =
self.udpSocket.readDatagram(self.udpSocket.pendingDatagramSize())
I had to remove the SELF in self.udpSocket in run because of QObject error
Q: How can I read my datagram in on_..._readyRead if I don't have a SELF.udpSocket?
Q: Maybe use waitForReadyRead method, but how to do that?
I need to make sure I have received the entire datagram, etc.
Any help appreciated,
--
Emmanuel
More information about the PyQt
mailing list