根据您提供的代码,调用QCoreApplication::postEvent()函数发送一个QEvent::Hide事件给ui->pushButton,但这并不会导致pushButton被隐藏。原因是该方式只是向应用程序的事件队列中添加了一个事件,并没有立即执行。
要实现隐藏pushButton,您可以直接调用QWidget::hide()函数,如下所示:
void MainWindow::clickButton()
{
qDebug() << "clickButton";
ui->pushButton->hide();
}
或者,您也可以使用QObject::setProperty()函数来设置按钮的visible属性为false:
void MainWindow::clickButton()
{
qDebug() << "clickButton";
ui->pushButton->setProperty("visible", false);
}
请确保在主线程中修改UI控件状态,并且界面已经初始化完成。
内容由零声教学AI助手提供,问题来源于学员提问