1

こんにちは誰かが私を助けてくれることを願っています私はUDPソケットを介して送信されたデータをグラフ化する小さなGUIを書いています。私はPyQtのQUdpSocketでこれを行うことにしました。サンプルコード(サーバーのテストに使用)を使用してから、GUIを削除しました。

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

クラスがインスタンス化されているように見えるが、信号とスロットが接続されて機能を起動していないように見えることを確認するために、いくつかのデバッグ行を挿入しました。私は自分の深みがなく、円を描いて走り回っています。アイデア/ポインターはありますか?

ありがとう

4

1 に答える 1

1

QUdpSocketを拡張してから、コンストラクターで新しいQUdpSocketをインスタンス化するのはなぜですか?それは本当に意味がありません。

まず、クラスの作成方法とインスタンス化の方法を決定します。

それ以外に、なぜそれが機能しないのかについては何の問題も見られません。

また、下部の「メイン」部分の配置が間違っています。また、通常、QTでは、他のQTクラスを使用する前に、QApplicationを作成する必要があります。

于 2013-02-23T10:59:54.507 に答える