私はPythonスレッドとPysideには初めてです。私は2台のコンピュータ間の通信を行うことに取り組んでいますが、私はクライアント、プログラムがクラッシュから任意のメッセージを送信すると、サーバー・コードはQObject:異なるスレッドにある親の子を作成できません.ParentはQTextDocument、親のスレッドはQThread、現在のスレッドはQThreadです
from PySide import QtCore, QtGui
import sys
import receiver
import os
from socket import *
import thread
class mainWindow(QtGui.QMainWindow, receiver.Ui_MainWindow):
def __init__(self):
super(self.__class__,self).__init__()
self.setupUi(self)
self.show()
thread.start_new_thread(self.listener,())
def listener(self):
host = ""
port = 13000
buf = 1024
addr = (host, port)
UDPSock = socket(AF_INET, SOCK_DGRAM)
UDPSock.bind(addr)
(data, addr) = UDPSock.recvfrom(buf)
self.textEdit.setText(data)
UDPSock.close()
def main():
app = QtGui.QApplication(sys.argv)
mainWin = mainWindow()
mainWin.show()
app.exec_()
if __name__ == "__main__":
main()
です。ここ側 を受信するスレッドを作成できませんでした。
スレッドはクライアント側で完全に動作しています。 ここにクライアントコードがあります
from PySide import QtCore, QtGui
import sys
import main
import os
from socket import *
import thread
class mainWindow(QtGui.QMainWindow, main.Ui_MainWindow):
def __init__(self):
super(self.__class__,self).__init__()
self.setupUi(self)
self.show()
self.sendButton.clicked.connect(self.clientProcess)
def clientProcess(self):
thread.start_new_thread(self.makeClient,())
def makeClient(self):
host = "192.168.43.143"
port = 13000
addr = (host, port)
UDPSock = socket(AF_INET, SOCK_DGRAM)
data = "Successfully Completed"
UDPSock.sendto(data, addr)
UDPSock.close()
def main():
app = QtGui.QApplication(sys.argv)
mainWin = mainWindow()
mainWin.show()
app.exec_()
if __name__ == "__main__":
main()
私は間違っていますか?