QT exec()命令崩溃

时间:2015-07-21 20:08:06

标签: c++ matlab qt qt4 mex

我在QT 4.7.3中开发了一个应用程序。使用mexFunction(* .mexw32)从Matlab(simulink)调用此应用程序

当我尝试使用 dialog.exec()命令打开对话框时,会显示该表单,但我立即得到“无响应的应用程序”。之后,matlab崩溃。

如果我尝试使用 dialog.show()命令打开对话框,它可以正常工作。

我真的不知道最近会发生什么,因为两个命令在某种程度上相似,如described here

有谁知道发生了什么事?

1 个答案:

答案 0 :(得分:1)

dialog.exec()旋转一个本地事件循环,它与Matlab本身正在旋转的循环不能很好地集成。因此崩溃。相反,只要它自己的事件循环与Qt的要求兼容,你就可以依靠Matlab做正确的事情。不幸的是,这并不适用于所有平台,尽管在Windows上似乎有效。

无论如何,你永远不应该在exec()之外使用main