如何删除小部件

How to delete a widget

本文关键字:小部 删除 何删除      更新时间:2023-10-16

实际上我有两个Qwidget,比如"Widget"、"NewWidget"。我在"Widget"按键事件中调用"NewWidget",反之亦然,

void Widget::keyPressEvent(QKeyEvent *qv)
{
  // i want to delete "Widget" here before i call "NewWidget"
   NewWidget *newWidget = new NewWidget();
   newWidget->setStyleSheet("background-color:black;");
   newWidget->setGeometry(0,0,640,480);    
   newWidget->show();
}

我想在调用"NewWidget"之前删除或销毁"Widget"

尝试以下

this->deleteLater();

当函数退出时,它将尝试销毁小部件。

当您正忙于要销毁的小部件的成员函数时,销毁当前小部件听起来很危险/很糟糕。尝试上面的代码,但要考虑重新设计您的交互。