MATLAB——GUI登录及注册界面(文件操作)

本人今年大二,人工智能专业,学习数字图像处理,期末做了个大作业,涉及到matlab的GUI,看到网上也没有什么关于这方面的资料,遂发此文,供路过的小白大神参考。

因为其中函数的定义都能百度到,所以代码讲解较少,有疑惑的地方请私信。

登陆界面大概就做成这个样子吧,没学过前端,对界面美观性没什么理解。

一、登录按钮,callback,在此代码段中敲下以下代码:

accnum=get(handles.accnum,'string'); 
root=get(handles.root,'string');
fid=fopen('land.txt','r'); %打开文件
line=fgetl(fid); %获取文件中的一行
while ischar(line) %如果这一行中有字符
    s=regexp(line,' ','split'); %将这一行以空格为界拆分成数组
    a=cell2mat(s(1));
    b=cell2mat(s(2));
    if strcmp(a,accnum) == 0 && strcmp(b,root)==0 %如果账号和密码都对
        close(untitled); %关闭界面,登录界面的文件名,不加后缀名
        clc;clear;close all;
        set(main,'Visible','on'); %打开界面,主界面的文件名,不加后缀名
        break %跳出循环
    end
    line=fgetl(fid); %获取下一行
end

handles.accnum和handles.root中handles后面的两个名字是自定义的 可编辑文本框的tag名:双击账号位置的可编辑文本框打开检查器

 倒数第六个,Tag是在代码里调用的变量名。

这里用到了一个文本文件用来存放用户的登录数据。

以【账号 密码 】格式存储。

二、注册按钮,callback,敲下以下代码:

扫描二维码关注公众号,回复: 15317211 查看本文章
close(untitled);
clc;clear;close all;
set(U,'Visible','on');

第一行的意思是关闭名为untitled的窗口,注意不要加后缀。第三行中的U是你要打开的窗口名,同样不加后缀。(注意将uititled和U替换成自己的文件名)

注册界面我做成了这个亚子:

确定按钮,callback,敲下以下代码:

accnum=get(handles.edit1,'string');
root=get(handles.edit2,'string');
fid=fopen('land.txt','a+'); %以追加的方式打开文件
fprintf(fid,'%s ',accnum); %将账号和一个空格符写入文件
fprintf(fid,'%s\n',root);%将密码写入文件
h=dialog('name','关于...','position',[500 500 200 70]);%定义提示框
 
uicontrol('parent',h,'style','text','string','注册成功!','position',[50 40 120 20],'fontsize',12);
uicontrol('parent',h,'style','pushbutton','position',...
   [80 10 50 20],'string','确定','callback','delete(gcbf)');

返回按钮,callback:

close(U);
clc;clear;close all;
set(untitled,'Visible','on');

 同理,关闭名为U的界面,打开名为untitled的界面。

三、总结

matlab的代码就是C和Python的缝合体,只要你有编程能力就没有实现不了的功能。

猜你喜欢

转载自blog.csdn.net/qq_54182919/article/details/122057471