【matlab】进度条嵌入主GUI界面

2024-09-05 00:48

本文主要是介绍【matlab】进度条嵌入主GUI界面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击打开链接  暂未实验成功,博主本人也不确定是否可行!

最近用到了waitbar,但是Matlab的waitbar总游离于主窗口之外,看起总是不是那么地爽于是想在论坛上找到把进度条嵌入到主GUI界面去的方法,不过没有找到现成的,只好自己动手了^_~
在GUI主窗口找一个空地,放上一个axes,然后如下设置这个axes的参数属性:
'XLim',[0 100],
'YLim',[0 1],
'Box','on', 
'Units','Points',
'XTickMode','manual',
'YTickMode','manual',
'XTick',[],
'YTick',[],
'XTickLabelMode','manual',
'XTickLabel',[],
'YTickLabelMode','manual',
'YTickLabel',[]);
偶根据liuhuanjinliu大哥的思想改编一下waitbar为自定义函数mywaitbar(偶简去了原waitbar函数的其它功能,呵呵。。。)
mywaitbar的代码如下:

  1. function mywaitbar(x,varargin)
  2. if nargin < 1
  3.     error('Input arguments not valid');
  4. end
  5. set(0,'CurrentFigure',gcf);
  6. fAxes = findobj(gcf,'type','axes');
  7. set(gcf,'CurrentAxes',fAxes);
  8. if nargin > 1
  9.     hTitle = get(fAxes,'title');
  10.     set(hTitle,'String',varargin{1});
  11. end
  12. fractioninput = x;
  13. x = max(0,min(100*x,100));
  14. if fractioninput == 0    
  15.     cla
  16.     pause(0.1) % 暂停小会清除上次使用进度 
  17.     xpatch = [0 x x 0];
  18.     ypatch = [0 0 1 1];
  19.     xline = [100 0 0 100 100];
  20.     yline = [0 0 1 1 0];
  21.     patch(xpatch,ypatch,'b','EdgeColor','b','EraseMode','none');
  22.     set(gcf,'UserData',fractioninput);
  23.     l = line(xline,yline,'EraseMode','none');
  24.     set(l,'Color',get(gca,'XColor'));   
  25. else
  26.     p = findobj(gcf,'Type','patch');
  27.     l = findobj(gcf,'Type','line');
  28.     if (get(gcf,'UserData') > fractioninput)
  29.         set(p,'EraseMode','normal');
  30.     end
  31.     xpatch = [0 x x 0];
  32.     set(p,'XData',xpatch);
  33.     xline = get(l,'XData');
  34.     set(l,'XData',xline);  
  35. end
  36. drawnow;
复制代码
GUI主界面某个回调函数下:

  1. mywaitbar(0,'Please Wait...');
  2. TheEndTime = 600; 
  3. for t = 1:TheEndTime
  4.        mywaitbar(t/TheEndTime,[num2str(floor(t*100/TheEndTime)),'%']);
  5. end
复制代码


这篇关于【matlab】进度条嵌入主GUI界面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1137499

相关文章

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

Golang GUI入门——andlabs ui

官方不提供gui标准库,只好寻求第三方库。 https://github.com/google/gxui 这个gui库是谷歌内部人员提供的,并不是谷歌官方出品,现在停止维护,只好作罢。 第三方gui库 找了好多,也比较了好多,最终决定使用的是还是 https://github.com/andlabs/ui 相信golang gui还会发展的更好,期待更优秀的gui库 由于andlabs

一款支持同一个屏幕界面同时播放多个视频的视频播放软件

GridPlayer 是一款基于 VLC 的免费开源跨平台多视频同步播放工具,支持在一块屏幕上同时播放多个视频。其主要功能包括: 多视频播放:用户可以在一个窗口中同时播放任意数量的视频,数量仅受硬件性能限制。支持多种格式和流媒体:GridPlayer 支持所有由 VLC 支持的视频格式以及流媒体 URL(如 m3u8 链接)。自定义网格布局:用户可以配置播放器的网格布局,以适应不同的观看需求。硬