QMenu删除崩溃现象及解决方法
场景是这样的:一个继承于QWidget的窗口,我们假设给它命名为A,点它右键填出一个菜单,右键菜单上有删除选项,点击删除选项后A自删。如果直接在A类中实现delete的操作,会在弹出菜单的exec(QCursor::pos())那里崩溃,应该是因为这一句要等待菜单的action操作完成后再运行下一句,但是这时候A已经自删了,所以会造成崩溃。解决办法是不要在A中自删,传一个信号出去到父类中来...
·
场景是这样的:一个继承于QWidget的窗口,我们假设给它命名为A,点它右键填出一个菜单,右键菜单上有删除选项,点击删除选项后A自删。
如果直接在A类中实现delete的操作,会在弹出菜单的exec(QCursor::pos())那里崩溃,应该是因为这一句要等待菜单的action操作完成后再运行下一句,但是这时候A已经自删了,所以会造成崩溃。
解决办法是不要在A中自删,传一个信号出去到父类中来删。
而且一般是MousePressEvent这里面发信号出去,用MouseReleaseEvent发信号也会造成崩溃。具体并不知道为什么,有知道的朋友看到了请留言指教一下。
更多推荐


所有评论(0)