Sử dụng công cụ GUI Layout thiết kế giao diện trong Matlab
Sáng kiến được viết theo hình thức một sách chuyên đề gồm 3 chương,
và 2 mục:
Mở đầu
Chương I. Cơ sở lý luận và thực tiễn
Chương II. Phần mềm Matlab
Chương III. Ứng dụng phần mềm Matlab vào giảng dạy vật lý lớp 12
Và cuối cùng là mục tổng kết, và kiến nghị
SỬ DỤNG CÔNG CỤ GUI LAYOUT
THIẾT KẾ GIAO DIỆN TRONG MATLAB
Công cụ GUI
Để mở GUI Layout, từ cửa sổ lệnh của MatLab (MATLAB Command Window), chọn menu File >
Show GUI Layout Tool. Cửa sổ GUI Layout sẽ được kích hoạt:
Để tạo cửa sổ cho ứng dụng, click vào button “Add Figure”.
Các nút lệnh:
Axis
Hệ trục tọa độ
Static text: Tạo văn bản tĩnh, thường dùng cho các nhãn (label)
List box: Liệt kê một danh sách
Check box:Hộp kiểm tra
Scroll bar: Thanh trượt
Push button:Nút lệnh
Edit box: Hộp soạn thảo
Popup menu
Radio button
Phạm
Thế
Bảo
Frame
Để tạo một đối tượng trên cửa sổ thiết kế, ta dùng kỹ thuật drop-and-drag (kéo và thả): chọn một đối
tượng trên cửa sổ Guide Control Panel, đối tượng tương ứng trên cửa sổ sẽ chìm xuống. Di chuyển
mouse vào cửa sổ thiết kế, con trỏ mouse sẽ chuyển thành , click mouse vào vị trí cần đặt đối
tượng.
Một ví dụ về cửa sổ ứng dụng như sau:
Một số thuộc tính cần chú ý của các đối tượng
Để thay đổi thuộc tính các đối tượng trong cửa sổ, ta chọn menu Tools > Property Editor:
Cửa sổ Property sẽ được kích hoạt:
Các thuộc tính cần chú ý:
Callback
Thuộc tính này thường được sử dụng cho Push button, dùng để chỉ ra file .m nào sẽ được gọi khi tác
động lên đối tượng.
Tag
Đặt nhãn cho thuộc tính, dùng để truy xuất đến đối tượng (nên chọn Tag cho các đối tượng phải
khác nhau).
Value
Giá trị hiện thời của đối tượng (không dùng cho các đối tượng Edit Text, Static Text, Push Button và
Frame).
Enable
Cho phép (on) hay cấm (off) người sử dụng tác động lên đối tượng
String
Chuỗi nhập sẽ hiển thị trên đối tượng. Đối với List box và Popup Menu, các giá trị sẽ được phân
cách bằng dấu "|"
TooltipString
Nội dung Tool Tip (hướng dẫn nhanh khi di chuyển mouse trên đối tượng).
Visible
Hiển thị (on) hay ẩn (off) đối tượng trên cửa sổ thiết kế.
BackgroundColor
Chọn màu nền, thường dùng giá trị [0.8 0.8 0.8] cho Static Text, Radio Button và Check box để trùng
với màu nền của cửa sổ.
Đọc hay ghi thuộc tính các đối tượng
Ta dùng các hàm set và get để xử lý thuộc tính của đối tượng H như sau:
H = findobj('Tag','TagName');
set(H,'PropertyName1',PropertyValue1,'PropertyName2',PropertyValue2,…)
V = get(H,'PropertyName')
Giả sử ta thực hiện một cửa sổ ứng dụng như sau:
Cửa sổ bao gồm các đối tượng với các thuộc tính:
- EditText:
'Tag' = 'EditTextSohang1'
'FontName' = 'VNI-Times'
- EditText:
'Tag' = 'EditTextSohang2'
'FontName' = 'VNI-Times'
- EditText:
'Tag' = 'EditTextKetqua'
'FontName' = 'VNI-Times'
- StaticText:
'String' = 'Số hạng 1:'
'FontName' = 'VNI-Times'
- StaticText:
'String' = 'Số hạng 2:'
'FontName' = 'VNI-Times'
- StaticText:
'String' = 'Phép toán:'
'FontName' = 'VNI-Times'
- StaticText:
'String' = 'Kết quả:'
'FontName' = 'VNI-Times'
- PopupMenu:
'String' = 'cộng|trừ|nhân|chia'
'FontName' = 'VNI-Times'
'Tag' = 'PopupMenuPheptoan'
- PushButton:
'Callback' = 'tinh'
'String' = 'Tính toán'
'FontName' = 'VNI-Times'
Lưu cửa sổ thiết kế (file example.m).
Khi thực hiện chương trình, nhấn vào nút 'Tính toán', chương trình sẽ thực hiện gọi hàm tinh.m, nội
dung chương trình tinh.m như sau:
function tinh
a = findobj('Tag','EditTextSohang1'); %Lấy handle của Edit Text Sohang1
b = findobj('Tag','EditTextSohang2'); %Lấy handle của Edit Text Sohang2
c = findobj('Tag','PopupMenuPheptoan'); %Lấy handle của PopupMenu
d = findobj('Tag','EditTextKetqua'); %Lấy handle của Edit Text Ketqua
sh1 = get(a,'String');
if isempty(sh1)
sh1 = 0;
else
sh1 = str2num(sh1); %Số hạng 1
end;
sh2 = get(b,'String');
if isempty(sh1)
sh2 = 0;
else
sh2 = str2num(sh2); %Số hạng 2
end;
pt = get(c,'Value'); %Tìm phép toán thực hiện
switch pt
case 1
kq = sh1 + sh2;
case 2
kq = sh1 - sh2;
case 3
kq = sh1 * sh2;
case 4
if (sh2 == 0)
set(d,'String','Lỗi trong phép chia');
return;
end;
kq = sh1 / sh2;
end;
kq = num2str(kq);
set(d,'String',kq); %Đưa kết quả vào EditText Ketqua
File đính kèm:
Sử dụng công cụ GUI Layout thiết kế giao diện trong Matlab.pdf

