QT exec() 命令崩溃
QT exec() command crash
我正在 QT 4.7.3 中开发应用程序。使用 mexFunction (*.mexw32)
从 Matlab(simulink) 调用此应用程序
当我尝试使用 dialog.exec() 命令打开对话框时,显示了表单,但我得到了 "non responding application" 瞬间。之后,matlab 崩溃了。
如果我尝试使用 dialog.show() 命令打开对话框,它工作正常。
我真的不知道发生了什么,因为这两个命令有些相似,如 described here
有谁知道发生了什么事吗?
dialog.exec()
旋转一个本地事件循环,该循环与 Matlab 本身正在旋转的循环不能很好地集成。因此崩溃。相反,只要它自己的事件循环与 Qt 的要求兼容,您就可以指望 Matlab 做正确的事情。不幸的是,这并不适用于所有平台,尽管在 Windows 上似乎有效。
无论如何,你不应该在 main
之外使用 exec()
。
我正在 QT 4.7.3 中开发应用程序。使用 mexFunction (*.mexw32)
从 Matlab(simulink) 调用此应用程序当我尝试使用 dialog.exec() 命令打开对话框时,显示了表单,但我得到了 "non responding application" 瞬间。之后,matlab 崩溃了。
如果我尝试使用 dialog.show() 命令打开对话框,它工作正常。
我真的不知道发生了什么,因为这两个命令有些相似,如 described here
有谁知道发生了什么事吗?
dialog.exec()
旋转一个本地事件循环,该循环与 Matlab 本身正在旋转的循环不能很好地集成。因此崩溃。相反,只要它自己的事件循环与 Qt 的要求兼容,您就可以指望 Matlab 做正确的事情。不幸的是,这并不适用于所有平台,尽管在 Windows 上似乎有效。
无论如何,你不应该在 main
之外使用 exec()
。