0

我想这个愚蠢的问题,但为什么我的小部件在显示后不隐藏?

void Dialog::on_tabWidget_selected(const QString &arg1){
    QWidget *w = new QWidget();
    if(ui->tabWidget->currentIndex() == 3){
             w -> move(1093,278);
             w -> setWindowFlags(Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint);
             w -> setFixedSize(206,206);
             w -> show();
     }else{
        w ->hide();
    }
}
4

1 回答 1

3

第二次,它创建了一个新的 QWidget,因此如果您想要这样做,隐藏不会影响旧的小部件。也许您应该多解释一下预期的结果是什么?

编辑:如果您想在此选项卡打开时显示弹出窗口,只需使用小部件的 showEvent 和 hideEvent。或者你可以去掉“widget *w = new widget();”,添加“QWidget *w;” 到 *.h,并添加“w = new QWidget();” 到构造函数,它应该工作。

于 2013-08-07T12:44:53.250 回答