在插槽运行期间刷新/更新GUI

时间:2012-12-28 23:57:14

标签: qt

在插槽完成运行后,GUI元素的所有属性(文本,项目......)都会更新,并且我有一个显示应用程序状态的小标签(即“刷新...”,“配置”。 ..“,”扫描...“,”完成“等)在触发的插槽中运行。

如何在触发插槽后立即将标签的文本设置为“刷新...”,并且当插槽几乎完成时,将标签的文本更改为“完成”? < / p>

目前我是通过发布

来做到这一点的
    ui->Status->setText("Refreshing ...");
    ...
    ui->Status->setText("Done");
插槽内的

,但只有在插槽完成后才能看到更改,所以我永远不会看到“刷新......”。

很抱歉,如果这很简单,但我是OOP的新手,我一直在思考。

1 个答案:

答案 0 :(得分:1)

这就是我当时所做的事情。 &#34;&qApp- GT; processEvents();&#34;是关键。重绘()是不够的。

void Widget::SetStatus(QString status)
{
   ui->Status->setText(status);
   ui->Status->repaint();
   qApp->processEvents();
}