matlab myupdatefcn,MATLAB笔记

此分界线下面为GUI部分:uicontrol:Style:[

{pushbutton} | togglebutton | radiobutton | checkbox | edit | text

| slider | frame | listbox | popupmenu

]=================================================popup控件:设置选项:'string','a|b|c'获取选项:get(h,Value),返回值:1,2,3...=================================================uimenu:f=uimenu(gcf,'Label',

'XXX','Callback',

'XXXX');子菜单:f1=uimenu(f,.....);position=1,2,3可以指定位置快捷键:label中加&(结果为alt+按键)=================================================鼠标右键出现的菜单:uicontextmenu,用法同menurwm=uicontextmenu;uimenu(rwm,'Label','XXX'...)=================================================竖着的slider:修改宽高比=================================================复选框:set(handles.XX,'checked','on')%or

'off'=================================================Import菜单功能:callback中填写uiimport=================================================print菜单功能:callback中填写printdlg=================================================退出的菜单功能:selection

= questdlg(['是否关闭',get(gcf,'Name'),'窗口'], ...

['Close

',get(gcf,'Name'),'...'], ...

'是','否','是');if

strcmp(selection,'否')

return;else

delete(gcf);end=================================================help菜单:写一个html文件,然后:wed(['file:'

which('XXX.html')])=================================================ToggleButton/CheckBox:if

get(gcbo,'Value')==1;

%TODOelse

%TODOend=================================================ListBox:获取字符串:get(h,'string')获取选中的索引:get(h,'value')=================================================RadioButton批量设置值为0:将各个句柄值设置为:Radio_h(1),Radio_h(2)...if

get(gcbo,'Value')==1

set(Radio_h(Radio_h ~= gcbo),

'value',0)end=================================================EditText多行输入:Max设置为2(保证Max-min>1)=================================================ListBox多选:Max设置为2(保证Max-min>1)=================================================GUI生成exemcc

-m

xxxx执行exe文件:!xxxx=================================================统一管理GUI

CallBack函数:function

gui_fcn(action)switch action

case 'Close'    case

'Peaks'    case

'Export'

otherwiseendcallback中填写类似:gui_fcn

Close=================================================鼠标移动到控件上的提示字符串:tooltipstring=================================================添加图片:himge

= findobj('tag','pic1');axes(himge);logo

=

imread('1.jpg');image(logo);set(himge,'visible','off')set(himge,'handlevisibility','off')=================================================图标显示在按钮上:A

= imread('2.jpg');bu =

findobj('tag','logobutton');set(bu,'cdata',A);=================================================对于figure,等待按键:fig_h=figure(1);waitforbuttonpress;%(阻塞)if

get(fig_h,'CurrentCharacter')==13

%todoend按键:tab(9),回车(13),ESC(17),上下左右(28-31),空格(32)code

=

double(get(fig_h,'CurrentCharacter'))对于waitforbuttonpress,返回0表示有鼠标点击,返回1表示键盘按键=================================================获取按键function

figure1_KeyPressFcn(hObject, eventdata, handles)key =

get(hObject,'CurrentCharacter');如果不在KeyPressFcn中,则是无时无刻都在等待获取,比如while

double(get(F,'CurrentCharacter'))~=27

set(edit1,'String',datestr(now));

pause(.1);end=================================================currentkey:返回值与CurrentCharacter不同,比如上下左右返回是uparrow,downarrow等,F1返回是f1,小键盘数字键1返回是numpad1等。=================================================selectiontype:还可以返回alt,shift等按键信息返回extent表示shift+左键或同时按下左右键返回normal表示左键返回alt表示alt或者右键返回open表示双击左键或者右键=================================================currentpoint:返回鼠标最后单击或者释放的位置=================================================进度条:h

= waitbar(0,'进行中');for i = 1 :10000

waitbar(i/10000,h);endclose(h)=================================================群组按钮实例:(可用于制作工具栏)fig=figure('Position',[200

200 250 120],'Name','btngroup 絛ㄒ',...

'NumberTitle','off','Menubar','none');icons =

['text(.5,.5,''B1'',''HorizontalAlignment'',''center'')'

'text(.5,.5,''B2'',''HorizontalAlignment'',''center'')'];callbacks

= ['disp(''B1'')';'disp(''B2'')'];btngroup(fig,'GroupID',

'TestGroup', 'ButtonID', ['B1';'B2'], 'Callbacks', callbacks,

...'Position', [.4 .45 .25 .3], 'IconFunctions',

icons);=================================================按下左键开始才开始定义消息函数:建立m文件:function

mouse(action)switch action

case 'start'

set(gcbf,'windowbuttonmotionfcn','mouse

move');

set(gcbf,'windowbuttonupfcn','mouse

stop');    case

'move'

point =

get(gca,'CurrentPoint');

%%%%%%%%%%%%%%%%

case 'stop'

set(gcbf,'windowbuttonmotionfcn','');

set(gcbf,'windowbuttonupfcn','');end在axis的

buttondownfcn中写:mouse

start=================================================设置F1的函数:set(gcf,'HelpFcn','XXXXXX');=================================================listbox显示当前目录下的所有文件列表,点击并加载文件list_h=uicontrol('style',

'listbox','Position',[25 10 200

250]);d=dir;set(list_h,'string',{d.name},'Callback',...['Value

= get(gcbo,''Value'');',...'String =

get(gcbo,''String'');',...'String =

cellstr(String);',...'uiimport(String{Value})']);=================================================二维列表:f

= figure;data = rand(3);colnames =

{'X-Data', 'Y-Data', 'Z-Data'};t = uitable(f, 'Data',

data, 'ColumnName', colnames, ...'Position', [20 20

260

100]);=================================================阵列方式来排控件示例:figure('name',

'uiarray', 'numbertitle', 'off');figPos = get(gcf,

'pos');bigFramePos = [0 0 figPos(3)

figPos(4)];m = 4; n = 3;border = 20;

spacing = 10;style = str2mat('push', 'slider',

'radio', 'popup', 'check');callback = 'disp([''This is

a '' get(gco, ''style'')])';string = str2mat('one',

'two', 'three', 'four-1|four-2|four-3',

'five');uiarray(bigFramePos, m, n, border, spacing,

style, callback,

string);=================================================文件夹树控件:uitree('root','d:');uitree('root',0)可以构造关于控件关系的树=================================================超简易选择对话框:select

=

menu('提示信息','选项1','选项2');=================================================提示对话框:(换行用n)msgbox('信息标题','对话框标题','help')msgbox('信息标题','对话框标题','warn')msgbox('信息标题','对话框标题','error')msgbox('信息标题','对话框标题','custom')%自己设计图标示例:Data=1:256;Icon=(Data'*Data)/128;msgbox('信息标题','对话框标题','custom',Icon,copper(128))=================================================模态对话框方式:h

=

msgbox('信息标题','对话框标题');waitfor(h);=================================================设置对话框背景颜色:set(h,'color','w');=================================================修改提示对话框字体:通过findall语句来实现:hm=msgbox('信息标题','对话框标题','error');set(hm,'color','w');th=findall(hm,'Type','Text');set(th,'color','r');set(th,'FontSize',24);=================================================问题选择对话框:(返回的是字符串)Button=questdlg('请选择','标题','选项0',

'默认选项','选项2','默认选项');最多3个选项=================================================输入对话框:answer=inputdlg(提示语,dlgTitle,对话框间距,默认值);多个需要输入的选项提示语可以用{'问题1','问题2'},返回值答案用answer{i}=================================================输入对话框编辑cancel选项:if

isempty(answer)

XXXXXXXXXend=================================================列表选择对话框:str

= {'A', 'B', 'C', 'D', 'E'};[s,ok] =

listdlg('PromptString','请选择','name','title','SelectionMode','single',...'ListString',str,

'fus',10, 'ListSize',[160

80]);ok为1表示有选,0表示没有选择s是索引其中okstring,cancelstring设置按钮的文字=================================================设置颜色对话框:text_handle=uicontrol('Style','text','Position',[250

250 120

20],...'String','被设置的text');uisetcolor(text_handle,'标题');=================================================设置字体对话框:figure;hText=gtext('12345');uisetfont(hText,

'Update

Font');=================================================添加工具栏图标:uipushtool('Separator','on','TooltipString','提示信息',...'ClickedCallback','msgbox(''XXX'',''XXXX'')','CData',repmat(magic(12)/12^2,[1

1

3]));=================================================偏好设置对话框:uigetpref=================================================设置定时器:t

=

timer('Period',1.0,'ExecutionMode','fixedrate','StartDelay',0.5,'timerfcn','XXXX');start(t);timerfcn调用方法:{‘functionname’,par1,par2...}functionname的定义是:function

functionname(t,event,para1,para2...)timer中tasksexecuted表示重复执行的次数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值