【发布时间】:2014-09-08 21:06:38
【问题描述】:
我的 Qt 应用程序有多个线程。其中一个调用ui->SyncUI(),其中ui 是class Interface : public QMainWindow 的对象并且
void Interface::SyncUI() {
QWidget* bar_widget = ui.tableWidget->cellWidget(0,4);
QProgressBar* bar_widget2 = dynamic_cast <QProgressBar*> (bar_widget);
bar_widget2->setValue( (int)percentage );
}
这会导致运行时错误:
QWidget::repaint:检测到递归重绘
我发现了这个 https://qt-project.org/forums/viewthread/24921 但我不太明白为什么从另一个线程设置 bar 小部件值是非法的。
谢谢!
【问题讨论】:
标签: c++ multithreading qt