- HEMOT BAC TUDO
e Tạo GUI bằng cách viết các dòng mã.
eẹ_ Tạo GUI bằng cách sử dụng GUIDE (nơi bố trắ các công cụ thiết kế GU]). Trong phần này không trình bày cách tạo GUI bằng cách viết các dòng mã, ta sẽ
sử dụng các công cụ có sẵn trong MATLAB để xây dựng GUI một cách nhanh chóng và hiệu quả.
LŨ Xây dựng giao điện :
Trên màn hình Command line bạn gõ guide hoặc chọn menu EileWNew\GUI
MWứW?
D-IMATLABR13Wworkc
Xuất hiện Form có tiêu để là GUIDE Quick Start, trong Tab Create New GŨI, ta
chọn Blank GUI (Default) --> chọn OK
BUIDE tu
-Â. GUI with Uicontrols -đ\ GUI with Aes and Menu
-& Modal Questian Dialog
Alignmerf Tool Menu Edilor M-Files Properly Inspector Objecl Brownser Rụn ự .' untitled.fiq Select Pushbutton =Ởể Toggle Button Radio Bullon ) GheỦ Box `M ị Edit Box ` Static Text =_ Ở] Slider =ỞỞỞỞỞ] FrameảỞỞỞỞỞỞ} Liel BOX ỞỞỢ | Popup Menu~ _~] Axes
Để thiết kế giao diện, đầu tiên theo tôi nghĩ bạn nên xây dựng bản vẽ ngoài
nháp trước, nghĩ đến việc dùng công cụ nào cho thắch hợp. Sau khi đã phác thảo
xong bản vẽ, ta bắt đầu xây dựng giao diện của mình trên vùng thiết kế bằng
cách chọn nút Select kéo rê các đối tượng nằm trên thanh công cụ vào màn hình
thiết kế.
=
Dac tĩnh ham truyen dat lDạp ưng bạc theng và tan so
Để xác định đặc tắnh (tên, màu..) cho các thành phần thiết kế, ta click chuột hai lần vào đối tượng thiết kế hoặc chọn đối tượng sau đó chọn nút Property Inspector.
Vắ dụ xác định tắnh chất của Popup Menu :
horiznnẨalAlignmeni | canter Intarrupflbis A#lon ListbnxTpp 9.0 Max 10 l|Ì-m q0 Psiion [0.018 0.901 0.298 0.037) - 8elettionHighllght jjen tì SliderStop I0.01 0.1) ¡
String " Mơ hinh toan hot ỳ
|-#we | ponupmanu H
|ƑỲTau mophinh_popuprsenu1 Ệ
TooltIlpStrlng ~
UlOonlexiMenu 3# =None>
Unils ;wnormalized h
Tag :mohinh popupmenul Sưỉng : (1) Mo hinh toan hoc
(2) Phương trinh vi phan
(3) Phuong trinh trang thai
(4) Phuong trinh vao ra
(5) Ham truyen dat
Tương tự ta đặt tên cho các thành phần khác :
Ô nhập liệu :
Tag String Name
Figure nen Hệ hai bậc tự do
Edit Box L F_input Edit Box 2 mĨ_input
Edit Box 3 m2_input
Edit Box 4 b 1_input Edit Box 5S b2_input
Edit Box 6 kl_input
List Box k2_input
Axesl dothil Axes2 dothi2
Edit Box 7 tìn
Button1 thoat Thoat
Button4 Bution4 Thong so he thong
Radio Button 1 htl Hàm truyền đạt
G1(s)
Radio Button 2 ht2 Hàm truyền đạt
G1(s) List box LBHTD Đặc tắnh hàm
truyền đạt
Static Text2 Text2 F
Static text3 Tex(3 ml Static text4 Text4 m2
Static text5 Text5 li
Statie text6 Textó b2 Static text7 Texf7 kl
Statie textB Text8 k2
Static text7 Text7 t
Statie text8 Text8 Hệ hai bậc tự do
Trong bảng thuộc tắnh Property Inspector, ta chú ý hai thành phân quan trọng là Tag và Callback.
Vậy Tag và Callback là gì ?
Khi bạn kéo rê một đối tượng trên thanh công cụ vào màn hình thiết kế,đối
tượng này có tên mặc định trong thẻ Tag (vd : pushbutton1l, popupmenul,...),
trong Callback được xác định là %automatie. Sau khi thiết kế xong giao diện, bạn
nhấn nút M-Eile chương trình sẽ yêu cầu bạn lưu lại với tên file mới và tự động cập nhật các thành phần có trên giao diện đồng thời tạo một hàm với ứng với tên thẻ Tag, ta đặt trong bảng thuộc tắnh Property Inspector (vắ dụ tên thẻ Tag là mohinh _ popup). Tên của Callback trong bảng thuộc tắnh lúc này là :
Hehaibactudo('mohinh_popup_Callback',gebo,[],guidata(gcbo)): Hehaibactudo là tên file ta lưu, mohinh_popup là tên thẻ Tag ta đặt.
Trong M-fiile hàm được tạo như sau :
%b --- Executes on selection change in pắ_pOpUPp.
function mohinh_popup_ Callback(hObject, eyentdata, handles) % hObject handle to mohinh_popup (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
%handles structure with handles and user đata (see GUIDATA)
Như vậy, Tag là thẻ đại diện cho lời gọi hàm (Callback). Lưu ý là các đối tượng
đổ họa trên GUI đều thuộc Handles (cấu trúc điều khiển), Do đó muốn xác định đặc tắnh của các đối tượng qua cách viết mã trong M-file, ta phải có handles.tên
Code của chương trình hehaibactudo :