我正在使用mfc进行Qt迁移,我在我的Mfc应用程序中显示Qt对话框。 在winEvent处理程序中删除Lall QWinWidget是否可以? 问题是我想在My Mfc应用程序中打开所有开放的Qt对话框 在主mfc窗口关闭时自动删除。 因为WM_DESTROY将被发送给所有子窗口(以及Qt小部件) 所以我在QwinWidget winEvent处理程序中添加了以下代码:
QWinWidget::winEvent(MSG * message, long * result)
{
........
if(message->message == WM_DESTROY )
deleteLater();
return false;
}
有人可以对此发表评论 感谢
答案 0 :(得分:0)
严格关于deleteLater()
调用的安全性,在该类内部运行的函数内部通常是安全的。在控件返回到事件循环函数之前,不会删除该对象。我能看到的唯一潜在问题涉及多线程代码,对于带有事件处理程序的小部件可能不会这样。