Python Forum
[PyQt] textEdit Update error ?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[PyQt] textEdit Update error ?
#1
class uiTxtEdtGunclThread(QtCore.QThread):
    def __init__(self,uiwin):
        super().__init__(parent=QtCore.QThread())
        self.uiwin =uiwin

    def run(self):
        while True:
            self.uiwin.textEdit.setText(self.uiwin.mesajlar) # I want to update textEdit here but it gives an error.   **thumbdown** error below
            time.sleep(0.1)


class Ui_MainWindow(object):
    def __init__(self):
        self.istemci = Istemci()
        self.mesajlar = ""

    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(780, 498)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        bla bla
        
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setObjectName("pushButton")
        self.pushButton.clicked.connect(self.gonderClick)


        self.menuMen.addAction(self.actionBa_lan)
        self.menuMen.addAction(self.actionTema)
        self.menuMen.addAction(self.action_k)

        self.menubar.addAction(self.menuMen.menuAction())
        self.menubar.triggered.connect(self.menuClick)
        bla bla bla

    def gelenMesajKnt(self):

        while True:
            glnmsj = self.istemci.mesajAl()
            if glnmsj == "boss":
                pass
            else:
                if self.mesajlar == (self.mesajlar + glnmsj+"\n"):
                    pass
                else:
                    self.mesajlar += glnmsj+"\n"
                    yks = uiTxtEdtGunclThread(self)
                    yks.start()


    def baglantiClick(self):
        host = self.uiB.lineEdit.text()
        port = self.uiB.lineEdit_2.text()

        print("host : " + host)
        print("port : " + port)

        self.istemci.baslat(host, int(port))

        glnmsjknt = threading.Thread(target=self.gelenMesajKnt,)
        glnmsjknt.start()



Error:

QObject: Cannot create children for a parent that is in a different thread.
(Parent is QTextDocument(0x1e38730), parent's thread is QThread(0x16037d0), current thread is QThread(0x7f11b4001b30)

Hi
Sorry Bad English :)

how can i solve this problem
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020