【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

相关文章

【生成模型系列(初级)】嵌入(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 链接)。自定义网格布局:用户可以配置播放器的网格布局,以适应不同的观看需求。硬

libsvm在matlab中的使用方法

原文地址:libsvm在matlab中的使用方法 作者: lwenqu_8lbsk 前段时间,gyp326曾在论坛里问libsvm如何在matlab中使用,我还奇怪,认为libsvm是C的程序,应该不能。没想到今天又有人问道,难道matlab真的能运行libsvm。我到官方网站看了下,原来,真的提供了matlab的使用接口。 接口下载在: http://www.csie.ntu.edu.

Matlab/Simulink中PMSM模型的反电动势系数和转矩系数

Matlab/Simulink中PMSM模型的反电动势系数和转矩系数_matlab pmsm-CSDN博客

GUI编程08:画笔paint

本节内容视频链接:10、画笔paint_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1DJ411B75F?p=10&vd_source=b5775c3a4ea16a5306db9c7c1c1486b5 package com.yundait.lesson03;import java.awt.*;import java.awt.event.Wind