Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python QUdpSocket pyqt_Python_Pyqt_Pyqt4 - Fatal编程技术网

Python QUdpSocket pyqt

Python QUdpSocket pyqt,python,pyqt,pyqt4,Python,Pyqt,Pyqt4,嗨,希望有人能帮助我,我正在写一个小图形用户界面,将图形数据通过UDP套接字发送。我决定用PyQt的QUdpSocket来解决这个问题。我使用了示例代码(用于测试我的服务器),然后剥离了gui from PyQt4 import QtNetwork class graphUDP(QtNetwork.QUdpSocket): def __init__(self, parent=None): super(graphUDP, self).__init__(parent) se

嗨,希望有人能帮助我,我正在写一个小图形用户界面,将图形数据通过UDP套接字发送。我决定用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
我放了一些调试行进去,看看发生了什么。看起来类被实例化了,但是信号和插槽没有连接到触发函数。我已经不在我的能力范围内了,在圈子里跑来跑去。有什么想法/建议吗


谢谢

为什么要扩展QUdpSocket,然后在构造函数中实例化一个新的QUdpSocket?那真的没有任何意义

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

除此之外,我看不出它为什么不起作用有什么问题


此外,您在底部“主要”部分上的对齐是错误的。通常,QT要求您在使用任何其他QT类之前创建一个QApplication。

为什么要扩展QUdpSocket,然后在构造函数中实例化一个新的QUdpSocket?那真的没有任何意义

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

除此之外,我看不出它为什么不起作用有什么问题


此外,您在底部“主要”部分上的对齐是错误的。通常,QT要求您在使用任何其他QT类之前先创建QApplication。

对不起,可能有点困惑,我是新手。我认为在PyQt中要做的事情是从父类继承,并使用super方法修改继承的类。您使用super方法,然后执行以下操作:self.udpSocket=QtNetwork.QUdpSocket(self),创建另一个套接字。抱歉,可能有点困惑,我是新手。我认为在PyQt中要做的事情是从父类继承,并使用super方法修改继承的类。使用super方法,然后执行以下操作:self.udpSocket=QtNetwork.QUdpSocket(self),创建另一个套接字。