Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QWidget不';t当主窗口关闭时关闭_C++_Qt_Qwidget - Fatal编程技术网

C++ QWidget不';t当主窗口关闭时关闭

C++ QWidget不';t当主窗口关闭时关闭,c++,qt,qwidget,C++,Qt,Qwidget,我试图创建一个主窗口(QWidget),当点击一个按钮时,它会打开一个新的QWidget,但是当我关闭主窗口时,最近打开的QWidget不会关闭 main.cpp QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); 主窗口.cpp(父窗口) out.cpp(儿童) 我怀疑您正在寻找Qt::WA_QuitOnClose: 当最后一个小部件具有该属性时,使Qt退出应用程序 集合已接受closeEvent()。此行

我试图创建一个主窗口(QWidget),当点击一个按钮时,它会打开一个新的QWidget,但是当我关闭主窗口时,最近打开的QWidget不会关闭

main.cpp

QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
主窗口.cpp(父窗口)

out.cpp(儿童)


我怀疑您正在寻找
Qt::WA_QuitOnClose

当最后一个小部件具有该属性时,使Qt退出应用程序 集合已接受closeEvent()。此行为可以使用 QApplication::quitOnLastWindowClosed属性。默认情况下 属性为所有类型为Qt::Window的小部件设置

在这种情况下,您可能应该调用:

myWidget->setAttribute( Qt::WA_QuitOnClose, false );
这是针对Python的

尝试创建一个如下所示的函数

def func\u退出所有窗口():
sys.exit()
记住导入系统

单击按钮时,调用函数

btn.clicked.connect(函数退出所有窗口)

你能发布代码吗?它们有很多行,我不知道我必须发布哪一部分。我建议你写一个尽可能小的例子来重现问题,然后发布。但首先,main.cpp是什么样子的?
Out::Out(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Out)
{
    ui->setupUi(this);

}
myWidget->setAttribute( Qt::WA_QuitOnClose, false );