部署的MATLAB文件未启动
请注意,我有一段代码涉及到保存gui状态(使用DougHull的方法)。 问题是脚本可以正常编译,但只有在我使用deploytool运行它时才会弹出并消失。我使用的是MatlabR2012B部署的MATLAB文件未启动,matlab,Matlab,请注意,我有一段代码涉及到保存gui状态(使用DougHull的方法)。 问题是脚本可以正常编译,但只有在我使用deploytool运行它时才会弹出并消失。我使用的是MatlabR2012B function savestate3 S.fh=figure('NumberTitle','off',... 'Visible','on','Position',[360 400 450 285],... 'closerequestfcn',{@fh_crfcn}); S.tg(1)
function savestate3
S.fh=figure('NumberTitle','off',...
'Visible','on','Position',[360 400 450 285],...
'closerequestfcn',{@fh_crfcn});
S.tg(1)=uicontrol(S.fh,'Style','toggle','String','Semester',...
'pos',[15 250 100 25],'val',0,'visible','on');
S.tg(2)=uicontrol(S.fh,'Style','toggle','String','Details',...
'pos',[135 250 100 25],'val',0,'visible','on');
S.ed(1)=uicontrol(S.fh,'Style','edit','String','Edit Text',...
'pos',[250 70 100 25],'visible','off');
S.lb(1)=uicontrol(S.fh,'Style','listbox','String',{'One','Two','Three'},...
'pos',[100 170 100 70],'visible','off');
S.cb(1)=uicontrol(S.fh,'Style','checkbox','Value',1,'String','Check Me',...
'pos',[250 170 100 25],'visible','off');
set(S.tg(:),'callback',{@tg_call,S})
guidata(S.fh,S)
restoreState(S);
function saveState(handles)
state2.editstr=get(S.ed(1),'String');
state2.listval=get(S.lb(1),'value');
state2.checkval=get(S.cb(1),'value');
save state1.mat state2
end
function restoreState(handles)
load 'state1.mat' 'state2'
set(S.ed(1),'string',state2.editstr,'FontSize',12,'FontWeight','bold');
set(S.lb(1),'value',state2.listval);
set(S.cb(1),'value',state2.checkval);
end
function fh_crfcn(varargin)
saveState(S)
delete(S.fh)
end
%TOGGLE OPERATIONS
function []=tg_call(varargin)
%Toggle Operations
[h,S]=varargin{[1,3]};
if get(h,'val')==0
set(h,'val',1)
end
switch h
case S.tg(1)
set(S.tg(2),'val',0)
set(S.ed(1),'visible','on')
set(S.lb(1),'visible','on')
set(S.cb(1),'visible','off')
saveState(S)
case S.tg(2)
set(S.tg(1),'val',0)
set(S.cb(1),'visible','on')
set(S.ed(1),'visible','off')
set(S.lb(1),'visible','off')
saveState(S)
end
end
end
我知道了,但仍然不知道这是否是一件“完美”的事情 编译之后,我将mat文件state1.mat放在distr/src文件夹中,它就工作了