2013-02-23 47 views
1

嗨,希望有人能帮助我,我正在写一个小GUI,它将图形数据通过UDP套接字发送。我决定使用PyQt的QUdpSocket。我使用了示例代码(我用来测试我的服务器),然后剥离了gui。QUdpSocket pyqt qt

from PyQt4 import QtNetwork 


class graphUDP(QtNetwork.QUdpSocket): 


def __init__(self, parent=None): 
    super(graphUDP, self).__init__(parent) 

    self.udpSocket = QtNetwork.QUdpSocket(self) 
    self.udpSocket.bind(8888) 

    self.udpSocket.readyRead.connect(self.processPendingDatagrams) 

    print "All ok line 20" 

def processPendingDatagrams(self): 
    print "line 23 All ok" 

    while self.udpSocket.hasPendingDatagrams(): 
     datagram, host, port = self.udpSocket.readDatagram(self.udpSocket.pendingDatagramSize()) 

     print "All ok line 28" 
     print datagram 

if __name__ == '__main__': 

import sys 
graphRun = graphUDP() 
graphRun 

我把一些调试线,看看发生了什么事,它看起来像类实例化得到但信号和槽不连接到断火的功能。我超出了我的深度,并围绕着任何想法/指针来圈选?

感谢

回答

1

你为什么要延长QUdpSocket提供,然后实例在你的构造一个新的QUdpSocket提供?这没有任何意义。

首先决定如何创建你的类以及如何实例化它。

此外,我不明白为什么它不起作用的任何问题。

此外,您在底部“主”部分的对齐方式是错误的。通常QT要求你创建一个QApplication,然后才能使用任何其他QT类。

+0

对不起,也许有点困惑,我是新来的。我认为在PyQt中要做的事情是继承父类,并使用super方法修改继承类。 – 2013-02-23 17:49:39

+0

你使用超级方法,然后你这样做:self.udpSocket = QtNetwork.QUdpSocket(self),创建另一个套接字。 – LtWorf 2013-02-24 02:41:52