0

我发现了一件非常奇怪的事情。我有一个很大的 MainWindow 类,它使用 GUI 进行大量计算。为了保持 GUI 响应,我为 QTimer 创建了一个线程,该线程每n毫秒更新一次 GUI,另一个线程用于计算,现在一切都非常顺利和快速。

我注意到一个简单的问题是,当调用这个

connect (_worker, &RRTWorker::finished, [=]()
{
    ui->stopButton->setEnabled(false);
});

,也就是说,当worker发出信号finished时(当它已经结束计算时),两者都[=]被禁用,[&]里面的标签仍然是黑色的(不是那个灰色过滤器作为正常的禁用按钮)。如果您需要一些反馈,这里有一张图片: stopButton坏的禁用停止按钮

如您所见,“开始”按钮完全变灰,这是在on_startButtonclicked()via 语句 中完成的ui->startButton->setEnabled(false)。那么,这是一个错误,还是我做错了什么?

4

0 回答 0