加载中564 2022-06-27 00:21 采纳率: 100%
浏览 155
已结题

在matlab的app designer中实现waitbar的效果

最近刚接触app designer,想在界面里加个进度条,但是在网上没有找到教程,所以来请教

  • 写回答

1条回答 默认 最新

  • Wayne_Fine Matlab领域优质创作者 2022-06-27 09:17
    关注

    1.选择添加“滑块”

    img

    2.获取滑块当前位置:

    % Value changed function: process, process_2
            function processValueChanged(app, event)
                value = app.process.Value;   %滑块进度值
                % 判断播放器是否为空,如果为空则不往下执行
                if isempty(app.player)
                    return
                end
                % 如果播放器是否处于播放状态,如果是则先暂停
                status = strcmpi(get(app.player,'running'),'on');
                if status
                    pause(app.player);
                end
                % 从指定帧开始继续播放
                play(app.player, round(value*app.total_frame));
            end
    

    更新进度条:

    function update_process(app, ~, ~)
                % 判断音乐播放器是否不为空以及是否正在播放音乐,如果是才执行下面的更新逻辑。
                if ~isempty(app.player)&&strcmpi(get(app.player,'running'),'on')
                    % 更新进度条位置
                    app.process.Value = app.player.CurrentSample/app.total_frame;
                    app.process_2.Value = app.player.CurrentSample/app.total_frame;  %此界面用到了一大一小两个进度条
                    % 更新波形图
                    app.draw_bar();
                    app.resound_level;
                end
            end
    

    3.效果:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月5日
  • 已采纳回答 6月27日
  • 创建了问题 6月27日

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同