Tải bản đầy đủ (.pdf) (24 trang)

TH Tin học kỹ thuật matlab 2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (825.88 KB, 24 trang )

BÀI 2: THIẾT KẾ GIAO DIỆN

1. GUI
2. Ví dụ

Bài 2

1


Chọn New > Graphical User Interface để
tạo giao diện cho chương trình

Hay gõ lệnh guide trân cửa sổ lệnh

Chọn Blank GUI

Bài 2

2


Các đối tượng tạo giao diện

Vùng thiết kế

Bài 2

3



Các đối tượng tạo giao diện

Bài 2

4


Push Button:

Edit Text: ô nhập dữ liệu

Radio Button:

Pop-up Menu:

Slider:

Check box:

List Box:

Static Text: hiện văn bản tĩnh.
Axes: trục toạ độ

Bài 2

5


Chọn Tools > Menu Editor để tạo menu


Bài 2

6


Bài 2

7


Tạo menu như sau:

Label

Tag

Label

Tag

File

mnuFile

Exit

mnuExit

Help


mnuHelp

About

mnuAbout
Bài 2

8


Thiết kế giao diện như sau:

Để chọn thuộc tính đối tượng, double-click vào đối
tượng để mở cửa sổ Inspector

Bài 2

9


Các thuộc tính cần chú ý:
String: giá trị hiển thị trên đối tượng.
Tag: tên của đối tượng, dùng để phân biệt với các đối tượng khác.
FontName: tên font của văn bản hiện trên đối tượng.
FontSize: kích thước font.
Unit: đơn vị xác định vị trí đối tượng, nên chọn là normalized.

Value: giá trị của đối tượng, dùng cho các đối tượng Popup-menu, List Box, Radio
Button, Check Box, Slider.

Callback: mã lệnh thực hiện khi tác động lên đối tượng (nên dùng file .m để hiệu
chỉnh mã lệnh)
Bài 2

10


Nút nhấn

Đối tượng

3 Radio Button

Static text
Static text

Slider

Edit text
Edit text

Thông số
String: Convert
Tag: pushbuttonConvert
String: Celcius, Rankine, Kelvin
Value: 1.0, 0.0, 0.0
Tag:
radiobuttonC,
radiobuttonR,
radiobuttonK

String: Fahrenheit degree
String: Celcius degree
Tag: text2
Max: 9032
Min: -459.4
SliderStep: [0.001 0.1]
Tag: SliderDoF

String: 32
Tag: editDoF
String: 0
Tag: editKQ
Bài 2

11


Nhấn Save lưu file: nhập tên vd1

Cửa sổ soạn mã lệnh hiện ra:

Bài 2

12


Dùng Go To chuyển đến các đối tượng mong muốn:

Bài 2


13


Dùng lệnh get để lấy thuộc tính của đối tượng mong muốn:
doF = get(handles.editDoF,'String')
handles.editDoF: editDoF là ‘Tag’ của đối tượng
'String’: thuộc tính cần lấy
doF = ‘32’(dạng string)

doF = str2num(
get(handles.editDoF,'String’) )

editDoF

SliderDoF
editKQ

radiobuttonC
Bài 2

radiobuttonR

radiobuttonK
14


Dùng lệnh set để gán thuộc tính của đối tượng mong muốn:
KQ = num2str((doF-32)*5/9);
set(handles.editKQ,'String’,KQ);


editKQ

Bài 2

15


function
handles)

% hObject
% eventdata
MATLAB
% handles
GUIDATA)

pushbuttonConvert_Callback(hObject,

eventdata,

handle to pushbuttonConvert (see GCBO)
reserved - to be defined in a future version of
structure

with

handles

and


user

data

(see

doF = str2num(get(handles.editDoF,'String'));
if get(handles.radiobuttonC,'Value') == 1
set(handles.editKQ,'String',num2str((doF-32)*5/9));

elseif get(handles.radiobuttonR,'Value') == 1
set(handles.editKQ,'String',doF+459.7);
else
set(handles.editKQ,'String',(doF-32)*5/9+273.15);
end

Bài 2

16


function radiobuttonC_Callback(hObject, eventdata, handles)
% hObject

% eventdata
MATLAB

% handles
GUIDATA)


%
Hint:
radiobuttonC

handle to radiobuttonC (see GCBO)
reserved - to be defined in a future version of
structure

with

get(hObject,'Value')

handles
returns

and

user

toggle

data
state

(see
of

set(handles.radiobuttonK,'Value',0);
set(handles.radiobuttonR,'Value',0);
set(handles.text2,'String','Celcius degree');

Bài 2

17


function radiobuttonR_Callback(hObject, eventdata, handles)
% hObject
% eventdata
MATLAB
% handles
GUIDATA)
% Hint:
radiobuttonR

handle to radiobuttonR (see GCBO)
reserved - to be defined in a future version of
structure with handles and user data (see
get(hObject,'Value')

returns

toggle

state

of

set(handles.radiobuttonC,'Value',0);
set(handles.radiobuttonK,'Value',0);
set(handles.text2,'String','Rankine

degree');
Bài 2

18


function radiobuttonK_Callback(hObject, eventdata, handles)
% hObject
% eventdata
MATLAB
% handles
GUIDATA)
% Hint:
radiobuttonK

handle to radiobuttonK (see GCBO)
reserved - to be defined in a future version of
structure with handles and user data (see
get(hObject,'Value')

returns

toggle

state

of

set(handles.radiobuttonR,'Value',0);
set(handles.radiobuttonC,'Value',0);

set(handles.text2,'String','Kelvin
degree');
Bài 2

19


function sliderDoF_Callback(hObject, eventdata, handles)
% hObject

% eventdata
MATLAB

% handles
GUIDATA)

handle to sliderDoF (see GCBO)
reserved - to be defined in a future version of
structure

with

handles

and

user

data


(see

% Hints: get(hObject,'Value') returns position of slider

%
get(hObject,'Min')
determine range of slider

and

get(hObject,'Max')

to

set(handles.editDoF,'String',get(handles.sliderDoF,'Value'));
Bài 2

20


function mnuExit_Callback(hObject, eventdata, handles)
% hObject
handle to mnuExit (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles
structure with handles and user data (see GUIDATA)
close
function mnuAbout_Callback(hObject, eventdata, handles)
% hObject

handle to mnuAbout (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles
structure with handles and user data (see GUIDATA)
msgbox('Help About','Help','help');

Bài 2

21


Ví dụ
Thiết kế một máy tính đơn giản

function
calc_OpeningFcn(hObject,
eventdata, handles, varargin)
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
global bt
bt = '0';
Bài 2

22


Viết chương trình cho các nút nhấn


function push0_Callback(hObject, eventdata, handles)
ht = get(handles.stxtDisplay,'String');
if ~strcmp(ht,'0')
ht = [ht '0'];
end
set(handles.stxtDisplay,'String',ht);
function push1_Callback(hObject, eventdata, handles)
ht = get(handles.stxtDisplay,'String');
if ~strcmp(ht,'0')
ht = [ht '1'];
else
ht = '1';
end
set(handles.stxtDisplay,'String',ht);
Bài 2

23


function pushInverse_Callback(hObject, eventdata, handles)
ht = get(handles.stxtDisplay,'String');
if isempty(strfind(ht,'-'))
ht = ['-' ht];
else
ht = ht(2:end);
end
set(handles.stxtDisplay,'String',ht);

function pushCE_Callback(hObject, eventdata, handles)
global bt;

bt = '0';
set(handles.stxtDisplay,'String','0');
function pushC_Callback(hObject, eventdata, handles)
set(handles.stxtDisplay,'String','0');
Bài 2

24



×