【发布时间】:2020-03-04 10:39:58
【问题描述】:
我想显示一个标签并在显示标签后执行一个函数。不幸的是,标签总是在函数执行后显示。
void MainWindow::showLabel(){
myLabel->show();
doSomething();
}
void MainWindow::doSomething(){
QThread::msleep(3000);
myLabel->hide();
}
所以,当我执行我的代码时,程序会等待三秒钟,然后会显示一个空窗口(因为它在显示之前直接隐藏了标签;如果我评论隐藏功能,则等待后显示标签三秒)。 我试图做的是像这样修改 showEvent:
void MainWindow::showEvent(QShowEvent *event) {
QMainWindow::showEvent(event);
doSomething();
}
是我修改方法做错了还是有其他方法在执行后续函数之前显示标签?
【问题讨论】: