Я новичок в python threading и Pyside. Я воздействую на создание связи между двумя компьютерами, но не может создать поток на приемной стороне Вот кодQObject: Невозможно создать дочерние элементы для родителя, который находится в разных потоках. Параметр 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()
, что я делаю не так?