I'm trying to make a main window (QWidget) which open a new QWidget when a button is clicked but when I close the main window, the QWidget recently opened doesn't close.
main.cpp
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
mainwindow.cpp (parent)
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
out.cpp (child)
Out::Out(QWidget *parent) :
QWidget(parent),
ui(new Ui::Out)
{
ui->setupUi(this);
}
I suspect you're looking for Qt::WA_QuitOnClose
:
Makes Qt quit the application when the last widget with the attribute set has accepted closeEvent(). This behavior can be modified with the QApplication::quitOnLastWindowClosed property. By default this attribute is set for all widgets of type Qt::Window.
In this case, you should probably call:
myWidget->setAttribute( Qt::WA_QuitOnClose, false );
This is for Python
Try to create a function like below
def func_quit_all_windows():
sys.exit()
Remember to import sys
When the button is clicked call the function
btn.clicked.connect(func_quit_all_windows)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With