如何实时更新QTextEdit
我有一个界面,里面有一个QTextEdit的组件。
(1) 我想让QTextEdit能够实时更新,并且主界面不会卡顿。当我使用sleep的时候,效果并不是我想要的。
(2) 我想写一个函数,并且可以给它传递参数,这样QTextEdit就能实时更新显示。
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")
1 个回答
7
试试用 processEvents()
:
def mytodo(self):
self.progress_textEdit.append(u"==== 20 % first step finish")
QApplication.processEvents()
# etc...
不过这有点像是变通的方法,之后你可能还想考虑使用独立的线程。