【发布时间】:2016-10-17 22:31:37
【问题描述】:
我生成了一个辅助线程来执行一些繁琐的工作,将目标QTextBrowser 传递给它,并希望它可以通过insertHtml() 向QTextBrowser 输出运行时消息。有时它可以工作,但最终会使应用程序崩溃。
最初,我使用print(),并将stdout和sderr重定向到QTextBrowser。它运作良好。因为我需要富文本能力所以我放弃了这个方法。
在 GUI 应用程序中,主线程也称为 GUI 线程,因为它是唯一允许执行 GUI 相关操作的线程。
如前所述,每个程序在启动时都有一个线程。该线程称为“主线程”(在 Qt 应用程序中也称为“GUI 线程”)。 Qt GUI 必须在这个线程中运行。所有小部件和几个相关的类,例如 QPixmap,都不能在辅助线程中工作
我不确定。我需要有人来证实这一点。并且可能会建议一种常规的方法来实现它。
【问题讨论】: