我有一个主窗体 GUI,它生成子 GUI,它们都是模块化的,并且独立于生成它的主 GUI,只接受输入参数,但没有输出参数或数据依赖性,因为它们执行单独的非相关任务。
当前的设置是,通过按下主 GUI 上的按钮,创建一个子 GUI,并执行一个计算时间长的算法,并将一直持续到完成,然后 GUI 被销毁。
问题是我希望能够在孩子已经存在的情况下从主 GUI 打开多个不同的模块。例如,按下一个按钮来运行 GUI 1,返回到主 GUI 并按下另一个按钮来运行 GUI 2,等等。我遇到的问题是 GUI 1 然后被中断并暂停,直到 GUI 2 完成执行,然后 GUI 1 从它停止的地方返回,我希望它们同时运行。
编辑:我解决了我的问题,结果发现有一种丑陋的方法可以做到这一点,即使那样,它也不会弹出 GUI,而是做我需要它做的事情。只需要使用 parfor 迭代作为索引号来告诉 matlab 在循环内运行哪个函数。