У меня есть QMainWindow, которое запускает QThread и ждет данных из сети.обновляет интерфейс при получении каких-либо данных.
проблема в том, что иногда происходит сбой.а иногда нет, все, что я делаю, я запускаю и жду данных.
вот класс потока:
class ListenerThread(QtCore.QThread):
def __init__(self,host,port,window):
super(ListenerThread,self).__init__(window)
self.host = host
self.port = port
self.window = window
def run(self):
soc = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
soc.bind((self.host, self.port))
while True:
data, address = soc.recvfrom(9999)
print address
if data:
dataList = data.split("\\")
company = dataList[1]
projectName = dataList[2]
assets = dataList[3]
assetType = dataList[4]
assetName = dataList[5]
# parent here is the main window(the main thread) : updateCombo is a function that updates combo box inside the main window
self.parent().updateCombo(self.window.comboBoxCompany,company)
self.parent().updateCombo(self.window.dropDownProjects,projectName)
self.parent().select(assets,assetName)
почему это происходит ??помните, что главное окно само по себе работает нормально.
функция (updateCombo) также работает нормально (когда вы вызываете его из своего класса).
но главное окно продолжает сбой при отправке данных!есть идеи почему?