Qt::Popup引起进程退出的问题

11 篇文章 0 订阅

现象:

主窗口属性:

setWindowFlags(Qt::FramelessWindowHint | Qt::Popup);

创建子窗口对象:QDialog

通过条件触发(按钮或者其他),弹出QDialog

void xxxx::onClick()
{
    auto dialog = new QDialog(this);
    dialog->exec();
}

当exec()返回后,触发dialog的closeEvent函数,进而触发主函数(main)的exec退出

解决:

重载QDialog的closeEvent即可解决:

void QCusDialog::closeEvent(QCloseEvent *e)
{
    QDialog::closeEvent(e);
    e->ignore();
    deleteLater();//看场景是否在关闭后删除数据
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值