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

2 回目は、新しい QWidget を作成するため、非表示にする必要がある場合は、古いウィジェットには影響しません。期待される結果をもう少し説明する必要があるかもしれません。

編集: このタブが開いているときにポップアップを表示する場合は、ウィジェットの showEvent と hideEvent を使用します。または、「widget *w = new widget();」を削除して、「QWidget *w;」を追加することもできます。*.h に、「w = new QWidget();」を追加します。コンストラクターに、それは動作するはずです。

于 2013-08-07T12:44:53.250 に答える