10

ボタンをクリックすると新しい QWidget を開くメイン ウィンドウ (QWidget) を作成しようとしていますが、メイン ウィンドウを閉じると、最近開いた QWidget が閉じません。

main.cpp

QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();

mainwindow.cpp (親)

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

out.cpp (子)

Out::Out(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Out)
{
    ui->setupUi(this);

}
4

2 に答える 2

13

私はあなたが探していると思いますQt::WA_QuitOnClose

属性が設定された最後のウィジェットが closeEvent() を受け入れたときに、Qt がアプリケーションを終了するようにします。この動作は QApplication::quitOnLastWindowClosed プロパティで変更できます。デフォルトでは、この属性は Qt::Window タイプのすべてのウィジェットに設定されています。

この場合、おそらく次のように呼び出す必要があります。

myWidget->setAttribute( Qt::WA_QuitOnClose, false );
于 2013-05-09T18:41:10.147 に答える