如何删除小部件
How to delete a widget
实际上我有 2 个 Qwidgets 说 "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();
它会在函数退出时尝试销毁小部件。
听起来dangerous/bad当您忙于要销毁的小部件的成员函数时销毁当前小部件。尝试上面的代码,否则请考虑重新设计您的交互。
实际上我有 2 个 Qwidgets 说 "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();
它会在函数退出时尝试销毁小部件。
听起来dangerous/bad当您忙于要销毁的小部件的成员函数时销毁当前小部件。尝试上面的代码,否则请考虑重新设计您的交互。