通信系統仿真(一些簡單的MATLAB函數學習)(菜單與控制界面)(五)

一、控制界面

用戶接口控制(User interface controls) 圖形對象的簡稱
H=uicontrol (‘Property’,PropertyValue)

1.主要屬性

Style(類型) Callback(回調函數)Position(位置) String(字符串)Max(最大值) Min(最小值)Value(數值)

2.控制框類型(Style)

Push buttons(按鈕)
Radio buttons(無線按鈕 )
Popup menus(下拉菜單)
Checkboxes(檢查框)
Editable text fields(編輯框)
Sliders(滑標)
Frame(框架)
Static Text(靜態文本)
Edit Text (可編輯文本)

例:

hfigure=figure('Menubar','none','toolbar','none','position',[400 400 400 400]);
h=axes('position',[0.1 0.5 0.7 0.4]);
x=0:0.5:7;
y=sin(x);
e=plot(x,y);
title('y=sin(x)');
xlabel('自變量x');
ylabel('函數值y');
htext=uicontrol('Style','push','string','紅色','fontsize',10,'position',[50 0 50 30],'callback','set(e,''color'',''r'');');
htext=uicontrol('Style','push','string','藍色','fontsize',10,'position',[150 0 50 30],'callback','set(e,''color'',''b'');');
htext=uicontrol('Style','push','string','圓圈','fontsize',10,'position',[250 0 50 30],'callback','set(e,''marker'',''o'');');
htext=uicontrol('Style','push','string','加號','fontsize',10,'position',[50 50 50 30],'callback','set(e,''marker'',''+'');');
htext=uicontrol('Style','push','string','實線','fontsize',10,'position',[150 50 50 30],'callback','set(e,''lines'',''-'');');
htext=uicontrol('Style','push','string','綠色','fontsize',10,'position',[250 50 50 30],'callback','set(e,''color'',''g'');');
htext=uicontrol('Style','push','string','虛線','fontsize',10,'position',[50 100 50 30],'callback','set(e,''lines'',''--'');');
htext=uicontrol('Style','push','string','星號','fontsize',10,'position',[150 100 50 30],'callback','set(e,''marker'',''*'');');
htext=uicontrol('Style','push','string','無線','fontsize',10,'position',[250 100 50 30],'callback','set(e,''lines'',''none'');');
uicontrol('Style','push','string','setting','fontsize',10,'position',[0 -100 150 30],'callback','uicontrol(htext)');

圖片:
在這裏插入圖片描述

二、菜單界面

1. Uimenu對象

創建自定義菜單對象或菜單選項
uimenu 函數
H=uimenu (‘Property’,PropertyValue)

Property內容
• Label (菜單名)
在字符串前加入&字符,可以實現用Alt鍵加該字符鍵來激活相
應的菜單項。
• Callback(迴應)
屬性值爲由MATLAB命令和函數構成的字符向量。
• Seperator(分隔符)
• Accelerator (快捷鍵)
取值是任何字母,用於定義沒有次級菜單的菜單項快捷鍵
• Enable
on/off,控制菜單選項的可選擇性
• Position
取值爲數值,定義菜單項在菜單組內的相對位置

2. Uicontextmenu對象

創建右鍵菜單對象
uicontextmenu 函數
h=uicontextmenu
若要創建右鍵菜單的菜單選項,可使用uimenu函數:
h1=uimenu(h,’PropertyName’, PropertyValue)

例子:

hfigure=figure('Menubar','none','toolbar','none','position',[400 400 400 400]);
x1=-1:0.1:1;
x2=0:0.1:3*pi;
y1=x1.^2;
y2=cos(x2);
c=subplot(2,1,1);
a=plot(x1,y1);
title('拋物線');
d=subplot(2,1,2);
b=plot(x2,y2);
title('餘弦曲線');
h=uicontextmenu
uimenu(h,'label','red','callback','set(a,''color'',''r'');');
uimenu(h,'label','green','callback','set(a,''color'',''g'');');
uimenu(h,'label','yellow','callback','set(a,''color'',''y'');');
uimenu(h,'label','linewidth1.5','callback','set(a,''linew'',1.5);');
uimenu(h,'label','linestyle*','callback','set(a,''marker'',''*'');');
uimenu(h,'label','linestyle:','callback','set(a,''lines'','':'');');
uimenu(h,'label','marker','callback','set(a,''lines'',''none'');');
set(c,'uicontextmenu',h);

h=uicontextmenu
uimenu(h,'label','red','callback','set(b,''color'',''r'');');
uimenu(h,'label','crimeson','callback','set(b,''color'',''c'');');
uimenu(h,'label','black','callback','set(b,''color'',''k'');');
uimenu(h,'label','linewidth1.5','callback','set(b,''linew'',1.5);');
uimenu(h,'label','linestyle*','callback','set(b,''marker'',''*'');');
uimenu(h,'label','linestyle:','callback','set(b,''lines'','':'');');
uimenu(h,'label','marker','callback','set(b,''lines'',''none'');');
set(d,'uicontextmenu',h);

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章