2013-02-23 91 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