matlab - 如何在 MATLAB 模态中制作等待栏

标签 matlab user-interface progress-bar modal-dialog

我正在使用 MATLAB GUI,我必须在其中显示进度条。 waitbar 函数有两个问题:

  1. 我想让进度条成为模态,这样当进度条显示时,用户就不能在 GUI 上做任何其他事情。

  2. 在栏的右上角有最小化按钮和关闭按钮(与任何其他窗口非常相似)。如果按下关闭按钮,进度条关闭,我希望隐藏或禁用此按钮,以便用户无法关闭进度条。

我怎样才能实现这些行为?

最佳答案

例子:

plot(sin(1:100))
h = waitbar(0, 'Please wait...');
set(h, 'WindowStyle','modal', 'CloseRequestFcn','');
for i=1:10
    waitbar(i/10, h);
    pause(.5)
end
delete(h)

screenshot

通过将 CloseRequestFcn 设置为空字符串,单击关闭按钮将不会执行任何操作。您只需等待循环完成即可。

请注意,您仍然可以按 Ctrl+c 来终止正在运行的计算(我认为这是一件好事,毕竟您不想惹恼用户!)

关于matlab - 如何在 MATLAB 模态中制作等待栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11570639/

相关文章:

r - 在R中使用 "foreach()"函数时如何创建进度条?

java - 在 SWT 中更改组合框下拉菜单的方向

android - 创建了一个空进度条?

matlab - 为什么子图位置会改变?

matlab - 从 Matlab CSC 到 CSR 格式的转换

html - 在我的垂直菜单中悬停时出现边框问题

user-interface - 基于 HTML5 的节点图编辑器?

html - 将图形添加到 Bootstrap 进度条

matlab - 交叉功能从 R2019a 更改为 R2019b

c++ - 如何在 mex 代码中表示 MATLAB 的二维数组