转:https://www.ttin.top/2018/03/29/TT0012/

制作一个小软件的方法很多,比如说c++的MFC,本站在之前的第一个MFC文章里就提到过;matlab的GUIDE,在之前的如何用Matlab设计GUI? 文章也提到过。而现在,本文将使用matlab GUI来制作一个可安装到电脑的小软件。

提示:软件安装包请到本站下载中心下载(解压密码到“关于”联系作者获取)

首先,描述一下软件需求

作者想制作一个可以为自己记录计划的软件,该软件应当包含以下功能:

1.增加新计划,并保存计划;

2.删除已有计划,更改当前计划;

3.查看历史计划;

4.显示当月日历,浏览其他日历(比如说查看学校校历等);

其次,matlab GUI设计软件界面

在本站前面内容已经提到过如何设计matlab GUI,在此就不做详细描述了。

如下图所示,使用matlab GUI设计如下界面。

其中,红色区域为主要功能区,其余部分可不设计。

然后,matlab 程序编写

访问日历网页(比如说查看学校校历等) txt = get(handles.edit1,'string');

eval(['web',' ',txt])

初始化当月计划 set(handles.uitable1,'data',[]);

添加计划 content1 = get(handles.edit4,'string');

content2 = get(handles.edit5,'string');

content3 = get(handles.edit6,'string');

uitabledata = get(handles.uitable1,'data');

handles.uitabledata = uitabledata;

guidata(hObject,handles);

olddata = uitabledata;

newrow = {content1 content2 content3};

newdata = [olddata;newrow];

set(handles.uitable1,'data',newdata);

删除计划 uitabledata = get(handles.uitable1,'data');

handles.uitabledata = uitabledata;

guidata(hObject,handles);

olddata = uitabledata;

[a,~] = size(olddata);

olddata(a,:) = [];

newdata = olddata;

set(handles.uitable1,'data',newdata);

保存计划 uitabledata = get(handles.uitable1,'data');

%写

txt = get(handles.edit3,'string');

filename = [txt(1:4),'_',txt(8:9),'.xls'];

delete(filename)

mytxt = xlswrite(filename,uitabledata);

查看以往计划 [pname,adrname] = uigetfile('*.xls');

%读

filename = [adrname pname];

[~,~,rawdata] = xlsread(filename);

set(handles.uitable1,'data',rawdata);

显示当月日历 dayunm = calendar(year(now),month(now));

myday = num2cell(dayunm);

myW1 = {'日' '一' '二' '三' '四' '五' '六'};

myW2 = {'一';'二';'三';'四';'五';'六'};

[a,b] = find(dayunm==day(now));

myday{a,b} = ['' num2str(myday{a,b}) ''];

[aa,bb] = find(dayunm==0);

for i=1:size(aa)

myday{aa(i),bb(i)} = ['' num2str(myday{aa(i),bb(i)}) ''];

end

set(handles.uitable2,'data',myday);

set(handles.uitable3,'data',myW1);

set(handles.uitable4,'data',myW2);

显示当月计划 filename = [num2str(year(now)),'_',datestr(date,'mm'),'.xls'];

if exist(filename,'file') == 0

uitabledata = {'无计划' '无计划' '无计划'};

mytxt = xlswrite(filename,uitabledata);

%读

[~,~,rawdata] = xlsread(filename);

set(handles.uitable1,'data',rawdata);

else

%读

[~,~,rawdata] = xlsread(filename);

set(handles.uitable1,'data',rawdata);

end

最后,软件打包

在matlab命令行窗口输入deploytool,添加自己的文件后打包即可。(方法在百度上一搜索一大把!我就懒得说了!)

matlab中制作软件,如何用matlab制作一个小软件相关推荐

  1. python编写一个软件-如何用Python写一个计算器软件 附带效果图

    1 import tkinter #导入tkinter模块 2 3 root =tkinter.Tk()4 root.minsize(280,500)5 root.title('李蛟龙的计算器')6 ...

  2. 如何用matlab制作一个小软件

    转:https://www.ttin.top/2018/03/29/TT0012/ 制作一个小软件的方法很多,比如说c++的MFC,本站在之前的第一个MFC文章里就提到过:matlab的GUIDE,在 ...

  3. 制作ico图标的一个小软件

    最近在写软件的过程中,遇见了如下问题: 1.libpng warning:iCCP:known incorrect sRGB profile 在网上搜索解决方案为:将图片用QIMAGE读取再重新保存就 ...

  4. matlab中的timer模块,[转载]Matlab中Timer的使用

    Matlab中Timer的使用 鉴于Matlab中缺乏多线程机制,使用Timer无疑是一个很重要的工具,Matlab中Timer是一个Java对象. (1)Timer 的定义 t=timer(); 设 ...

  5. m 文件 dll matlab 中调用_如何在matlab中调用python程序

    现在python很火,很多代码都是python写的,如果你和我一样,习惯了使用matlab,还想在matlab中调用Python的代码,应该怎么办呢?其中一条思路:首先在matlab中调用系统脚本命令 ...

  6. matlab中m文件是什么,MATLAB中M文件的使用

    运行方法: 使用matlab的时候,可以在"Command Window"内直接书写matlab代码,也可以将代码保存到M文件中,然后运行该文件.使用matlab主界面菜单&quo ...

  7. 在matlab中,利用for循环来生成一个矩阵,并分别对该矩阵的行和列进行求和

    在matlab中,利用for循环来生成一个矩阵,并分别对该矩阵的行和列进行求和 先创建一个新的脚本,并保存,在编辑器中进行编辑.具体如图,以5阶方阵为例: a=zeros(5,5): for i=(1 ...

  8. matlab 如何axis,在matlab中axis是什么意思,matlab中axis的用法

    在matlab中axis是什么意思轴在matlab中是什么意思,matlab中的Axis是指在绘图中通常使用axis函数来设置坐标值的范围,在matlab的命令窗口中输入doc轴或help轴即可获得该 ...

  9. Matlab中如何使用appdesigner设计工具建立一个简单的界面

    Matlab中如何使用appdesigner设计工具建立一个简单的界面(数据的输入.处理和保存) 以使用不同算法处理图像的功能为例 建立一个新的空白界面,matlab中输入appdesigner,打开 ...

  10. 在MATLAB中使用数学符号,在matlab中怎么输入特殊符号 function在MATLAB中怎么用

    导航:网站首页 > 在matlab中怎么输入特殊符号 function在MATLAB中怎么用 在matlab中怎么输入特殊符号 function在MATLAB中怎么用 相关问题: 匿名网友: 一 ...

最新文章

  1. 一次SQL查询优化原理分析(900W+数据,从17s到300ms)
  2. 科大星云诗社动态20211201
  3. openssh升级sftp_Centos7 升级 openSSH 到7.9p1的详细步骤
  4. ​用c语言打印自定义的乘法口诀表。例如:输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。...
  5. 1.0jpa 2.0_在JPA 2.1中使用@Convert正确完成映射枚举
  6. centos 虚拟机glibc升级_分享Centos6.5升级glibc过程
  7. 时域频域与傅立叶变换
  8. java knn文本分类算法_使用KNN算法的文本分类.PDF
  9. java随机数_Java随机
  10. Android JNI
  11. OpenGL ES 中的模板测试
  12. Vue指令概述,v-if与v-show的区别
  13. Application做的单叶聊天室
  14. 地图附近名片流量主小程序开发
  15. R语言二手车汽车销售数据可视化探索:预处理、平滑密度图、地理空间可视化(带自测题)
  16. exynos4412中断编程
  17. [运算放大器]佛朗哥笔记 - 非线性电路 - 模拟开关
  18. 扎心了!互联网公司福利缩水指南
  19. Maven 环境踩坑及完整配置
  20. VB与VB.NET区别

热门文章

  1. 大麦盒子无线服务器连接超时,大麦盒子游戏联网失败怎么办
  2. 处理机调度之时间片轮转调度算法实现
  3. 酒店管理系统-可行性研究报告
  4. 【电子签章】HTML格式合同转化成PDF文件
  5. Modbus-RTU入门篇
  6. Python分词统计
  7. 解决edge浏览器中idm插件不能自动捕捉下载链接的问题
  8. 《凤凰项目——一个IT运维传奇故事》关于运维员的那些事
  9. 使用redis做缓存处理时出现的问题
  10. 前端json转对象和数组