Force the Qt GUI to update before entering a separate function

This seems like it should be automatic, but apparently it’s not. I have the following code:

ui.my_label->setText("Test 1...");
    ui.my_label->adjustSize();

    processThatTakesAbout30SecondsToFinish(files[0].toStdString());

    ui.my_label->setText("Finished.");
    ui.my_label->adjustSize();

What is happening is that I never
see "Test1...",
as the GUI seems to hang until the following function completes, and I eventaully only see “Finished.”.

How can I make sure the GUI is updating before it enters that function?

Thanks.

You shuld be able to process the event queue before entering your code if you;

#include 

and, when you want to refresh your GUI, call;

qApp->processEvents();

Note that it may be a good idea to let your long running process call that function now and then, to make your GUI feel more responsive.

Hello, buddy!责编内容来自:Hello, buddy! (源链) | 更多关于

阅读提示:酷辣虫无法对本内容的真实性提供任何保证,请自行验证并承担相关的风险与后果!
本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 综合编程 » Force the Qt GUI to update before entering a separate function

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录