QT,使用QMenu的时候,在action里面执行注销,删除了窗体,导致了崩溃
测试代码:
ui->setupUi(this);
m_menu = new MyMenu(ui->centralwidget);
m_menu->addAction(tr("注销"), this, [this](){
delete ui->centralwidget;
});
ui->pushButton->setMenu(m_menu);
解决方法:
将delete改为deleteLater()即可
注:
setMenu不会将menu的生命周期交给pushButton管理,也就是说如果new的时候不设置parent,menu就会成为野指针(内存泄漏)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。