一次界面设计所用到的知识整理

记录:以下是一次GUI界面设计时候学到的知识,直接附上了原文链接,如侵可删除

matlab GUI界面的调成全屏:

1、在figure(白色画面)把RESIZE的OFF变成ON
  2、把figure以及内部的控件的units属性都统一设置为normalized就可以,原来的character表示像素的意思。
  3、如果想要窗口一弹出就全屏显示,可以在outputfcn函数的最后添加如下语句:
    javaFrame = get(gcf,‘javaFrame’);
    set(javaFrame,‘Maximized’,1);
    原文

去除坐标轴和其刻度

双击axes1控件,打开其属性设置面板。下拉找到“XTickLabel”和“YTickLabel”,将其中是刻度值全部清除(点击图中黄色田字格下面的按钮即可进入,全选,清除)。再找到其中的“XColor”和“YColor”,将坐标轴改成白色。

在这里插入图片描述

原文

回调函数改名字

Matlab回调函数自动命名回调函数的函数名是GUI对其自动命名,当设计时在界面中添加一个控件时,就根据该控件的“tag”属性确定了回调函数的名称。

按钮回调函数按下改名字

方法一:

%开始按钮的回调函数---对应于开始第一组 和开始第二组 开始后播放视频
function start_Callback(hObject, eventdata, handles)
% hObject    handle to start (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
st =  get(handles.start,'string');%获取按钮控件字符名

if strcmp(st, '开始第一组')
    set(handles.start,'string','开始第二组');
    uiresume;%回复暂停
 elseif strcmp(st,'开始第二组') 
     set(handles.start,'string','开始第一组');
%     handles.start.String = '开始第一组';
    uiwait;%用于暂停
end

方法二:

switch handles.ConnectButton.String
        case 'Connect'
            printCmd(handles, 'Device is Connected.');
            handles.ConnectButton.String = 'Disconnect';
        case 'Disconnect'
            printCmd(handles, 'Device is Disconnected.');
            handles.ConnectButton.String = 'Connect';
    end
    guidata(hObject, handles);

视频播放功能

a=VideoReader('视频.mp4');

while hasFrame(a)
    vidFrame = readFrame(a);
axes(handles.axes1);    
    imshow(vidFrame)

原文

播放一个视频后清除axis

axes(handles.axes1); %指定需要清空的坐标轴
cla reset;
set(handles.axes1,'xtick',[]);
set(handles.axes1,'ytick',[]);

原文

在坐标轴上画点

绘制
实时绘图

Plot函数详细解释

显示和隐藏按钮

%显示按钮
    set(handles.start,'Visible','on')
    set(handles.finish,'Visible','on')
%隐藏按钮
    set(handles.start,'Visible','off')
    set(handles.finish,'Visible','off')

MATLAB连续读取多个文件

方法一:
把文件的文件名按一定的规律命名,假如:filename1.txt,filename2.txt,…,fielname100.txt,在读取的时候则可以使用循环:

for i = 1:100

fileName = ['filename' num2str(i) '.txt'];

x = load(filiName);

end

方法二:
无需对数据文件的文件名进行修改,就是文件名无须有规律:

A = dir(fullfile('d:/datafile','*.txt'));

这个语句是把存放数据文件的目录d:/datafile下的所有txt文件列出来,并把这些文件名的信息存放到一个变量A中,A是一个结构体变量,只要对A进行循环就可以读取到所有文件的数据了。

原文

清除图片和动态txt文字

% 重置清空图片

cla(handles.axes1,'reset');

% 重置清空动态txt的文字

set(handles.edit1,'string','')`

原文

GUI 中Plot无法hold on的解决办法

hold(handles.axes,’on’)

原文

matlab定时器的使用

常用的方式:

%定时器的定义
global cartoon1
% ('Period',1)意思是任务执行的周期为1秒;('TasksToExecute',5)的意思是任务执行5次后自动停止; ('ExecutionMode','fixedDelay')的意思是上一次TimerFcn执行完毕时刻到下一次TimerFcn被加入队列时刻之间的间隔;
cartoon1=timer('Period',0.2,'ExecutionMode','singleShot');%singleShot--执行一次后自动停止
cartoon1.TimerFcn={@cartoon1_callback_fcn,handles};%注意这里的参数!需要输入一些参数的

%回调函数
回调函数语法      如何指定为对象 t 的属性值

function myfile(obj, event)     t.StartFcn = @myfile

function myfile               t.StartFcn = @(~,~)myfile
function myfile(obj, event, arg1, arg2)     t.StartFcn = {@myfile, 5, 6}%前面两个是固定的,后面是可选参数,用来传递信息

定时器参考资料:
1 2 3
定时器的官方资料 回调函数的官方资料
其他资料:
handles

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰果豆豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值