如何实时更新QTextEdit

0 投票
1 回答
2627 浏览
提问于 2025-04-29 20:27

我有一个界面,里面有一个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...

不过这有点像是变通的方法,之后你可能还想考虑使用独立的线程。

撰写回答