如何在当前的GUI窗口MATLAB中添加waitbar?
我有一个GUI图,其中包含一些按钮,我想在放置按钮的同一GUI窗口上显示waitbar,我尝试了不同的解决方案但徒劳无功。例如,当用户点击按钮时,它开始在图的左下侧显示我的等待条。如何在当前的GUI窗口MATLAB中添加waitbar?
你可以尝试在你的图中添加一个java等待栏。
在OpeningFcn
PB=javaObjectEDT(javax.swing.JProgressBar);
javacomponent(PB,[10,10,200,20],gcf); %put at bottom part of the current figure
set(handles.output.Children(1),'Tag','first_bar'); %make sure you can find it back
将这个在任何功能的回调,那么你可以使用此代码设置栏的值在0和100之间:
h=findobj(handles.output.Children,'Tag','first_bar');
set(h.JavaPeer,'Value',rand(1)*100)
你可以把它可见或不可见,就像你在Matlab中使用任何GUI对象一样
h=findobj(handles.output.Children,'Tag','first_bar');
set(h,'visible','off');
在这里你可以找到de尾巴关于JProgressBar。例如使用这个,你会得到一个字符串,其中有进度条。
h=findobj(handles.output.Children,'Tag','first_bar');
set(h.JavaPeer,'StringPainted',1)
非常感谢这段代码完全是我所需要的,但是 handles.output.Children(1).Visible ='off';不会使进度条隐形 –
也许你有不同版本的matlab。我用'set'设置了一个备用代码。 – Gelliant
我正在使用MATLAB 2017. –
你能告诉你已经试过了吗?因为从GUI中的矩形和文本中创建自定义的等待工具函数似乎更容易。 – Gelliant