【问题标题】:non persistent user input dialog box in matlabmatlab中的非持久用户输入对话框
【发布时间】:2014-03-20 06:12:27
【问题描述】:

好的,所以我的代码给出了几个图,然后基于这些图,用户应该进行一些电路更改,然后基于这些更改,matlab 代码将继续进行

这就是我所做的:

  1. 打印出这些图
  2. 弹出一个消息对话框,询问用户是否准备好继续执行代码
  3. 如果在对话框中输入 == yes --- 继续代码

问题来了:

一旦对话框被 matlab 打开,我就无法查看我的图,因为消息框是持久的,并且一直位于所有图的顶部,直到我关闭它或输入输入。

这是一个问题,因为我需要能够查看这些图并且不想关闭框。

有没有办法让这个盒子不持久?或者我的其他选择是什么??

PS

我尝试在打印绘图并打开对话框后暂停pause(30) 30 秒。问题是我需要可变的时间来修复我的电路。有时 10 秒 - 有时 5 分钟。所以暂停解决方案不是很有效

【问题讨论】:

  • 如何创建对话框?

标签: matlab plot


【解决方案1】:

如果您依赖questdlg(或类似的),则没有任何机制可以让您为所欲为。如果您查看edit questdlg,您会看到该图形被硬编码为'Modal',并且调用了uiwait,这会暂停输入,直到其中一个按钮回调运行uiresume。没有办法控制这种行为(也不不应该有)。

我看到了两条出路:

  1. 复制questdlg.mquestdlg_nonmodal.m 并进行必要的更改
  2. 在一个或所有绘图上创建按钮,回调与对话框按钮相同。

就个人而言,我会选择选项 2,但我不知道您的情况或偏好。

【讨论】:

  • 我没有使用questdlg。这就是我正在使用的inputdlg(prompt,'s');
  • @sukhvir: 啊,那你走运了:虽然默认会创建一个模态对话框,但你可以通过在选项列表中指定'WindowStyle', 'normal' 来更改它。见help inputdlg
猜你喜欢
  • 2018-10-30
  • 1970-01-01
  • 2012-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-08
  • 1970-01-01
  • 2012-10-29
相关资源
最近更新 更多