我在QT 4.7.3中开发了一个应用程序。使用mexFunction(* .mexw32)从Matlab(simulink)调用此应用程序
当我尝试使用 dialog.exec()命令打开对话框时,会显示该表单,但我立即得到“无响应的应用程序”。之后,matlab崩溃。
如果我尝试使用 dialog.show()命令打开对话框,它可以正常工作。
我真的不知道最近会发生什么,因为两个命令在某种程度上相似,如described here
有谁知道发生了什么事?
答案 0 :(得分:1)
dialog.exec()
旋转一个本地事件循环,它与Matlab本身正在旋转的循环不能很好地集成。因此崩溃。相反,只要它自己的事件循环与Qt的要求兼容,你就可以依靠Matlab做正确的事情。不幸的是,这并不适用于所有平台,尽管在Windows上似乎有效。
无论如何,你永远不应该在exec()
之外使用main
。