[討論] GUI設計問題已回收
小弟是MATLAB新手,最近學到GUI的程式設計,跟書中習題練習卻發現問題@@
以下是小弟練習題的程式碼
內容主要是由popupmenu選擇你要畫的圖形點數,一開始預設是20點
然後可切換40、60點,
但小弟的程式碼,卻無法切換到40、60點的圖形,只能在20點的圖形
是我哪裡寫錯了嗎?
請各位大大幫我看看
function ex18_1(arg)
global h_pop h_chk x y;
if nargin==0
arg='ini';
end
switch arg
case 'ini'
figure('Position',[80 80 280 220],'Menubar','none');
axes('Position',[0.1 0.25 0.8 0.65]); % 建立繪圖區元件
h_chk=uicontrol('Style','checkbox','String','Grid',...
'position',[20 10 50 20],'callback','ex18_1(''gd'')');
h_pop=uicontrol('Style','popupmenu','String','20|40|60',...
'position',[80 10 50 20],'callback','ex18_1(''pts'')');
n=20;
x=linspace(0,6,n); % 建立一個具有n個元素的向量x
y=sin(3*x)./(x+1);
plot(x,y,'-',x,y,'.r');
case 'pts'
switch get(h_pop,'value')
case 1
n=20;
case 2
n=40;
case 3
n=60;
end
plot(x,y,'-',x,y,'.r')
case 'gd'
if get(h_chk,'Value')==1 % 如果核取方塊有被選取,則繪上網格線
grid on
hold on
else
get(h_chk,'Value')==0;
grid off
end
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.143.102
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):