如何实时更新QTextEdit

son*_*edu 0 python pyqt qtextedit

我有一个带有QtextEdit的UI,
(1)我想更新QtextEdit,主UI可以实时显示而且没有卡住.使用睡眠时,不按我的意愿工作.(2)我想制作一个函数并将参数传递给它,QtestEdit可以实时更新显示

self.pButton_torun.clicked.connect(self.mytodo)

 def mytodo(self):
        self.progress_textEdit.append(u"==== 20 % first step finish")
        #after 2 sec
        self.progress_textEdit.append(u"==== 40 % second step finish")
        #after 2 sec
        self.progress_textEdit.append(u"==== 60 % third step finish")
        #after 2 sec
        self.progress_textEdit.append(u"==== 80 % forth step finish")
Run Code Online (Sandbox Code Playgroud)

101*_*101 7

尝试使用processEvents():

def mytodo(self):
    self.progress_textEdit.append(u"==== 20 % first step finish")
    QApplication.processEvents()
    # etc...
Run Code Online (Sandbox Code Playgroud)

这是一个解决方法,但在轨道上你可能还想考虑使用单独的线程.