1. Trang chủ
  2. » Thể loại khác

MatLab phkkhanh Chuong2 GUI

12 268 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 763,8 KB

Nội dung

MatLab phkkhanh Chuong2 GUI tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh vực...

Giáo trình MatLab GUI CHƯƠNG 2: GUI (Graphic User Interface) Chương giới thiệu cách thức tạo giao diện người sử dụng Công cụ đồ hoạ tạo GUI 1.1 Tạo GUI công cụ đồ hoạ Khởi động cửa sổ tạo GUI cách chọn Start > MatLab > GUIDE (GUI Builder) Hình 2.1 – Khởi động GUI Builder Hay gõ lệnh: >>guide Cửa sổ GUIDE Quick Start xuất hiện, ta chọn Blank GUI Phạm Hùng Kim Khánh Trang 47 Giáo trình MatLab GUI Hình 2.2 – Cửa sổ GUI Quick Start Cửa sổ thiết kế giao diện: Các đối tượng đồ hoạ Thực thi Vùng thiết kế Hình 2.3 – Cửa sổ GUI Layout Phạm Hùng Kim Khánh Trang 48 Giáo trình MatLab 1.2 GUI Các đối tượng đồ hoạ Push Button Slider Radio Button Check box Edit Text Static Text Pop-up Menu List box Toggle Button Table Axes Panel Button Group ActiveX Hình 2.4 – Danh sách đối tượng đồ hoạ Các đối tượng đồ hoạ thường sử dụng: Push Button: nút nhấn, dùng để thực chức click chuột OK, Cancel, … Radio Button: dùng để lựa chọn giá trị Edit Text: ô nhập liệu Pop-up Menu: hiển thị danh sách dạng pop-up Axes: trục toạ độ Slider: trượt Check box: hộp chọn lựa, cho phép chọn nhiều giá trị Static Text: văn tĩnh List Box: danh sách dạng list Phạm Hùng Kim Khánh Trang 49 Giáo trình MatLab GUI Để dùng đối tượng nào, ta dùng chuột kéo phần tử cần dùng từ bên trái thả vào layout rỗng bên phải Ta dịch chuyển phần tử đế vị trí mong muốn cân chỉnh công cụ Align (menu Tool > Align Objects) Hình 2.5 – Cơng cụ Align Thuộc tính đối tượng xác định cách nhấn đúp hay công cụ soạn thảo thuộc tính (menu View > Property Inspector) Hình 2.6 – Cửa sổ Property Phạm Hùng Kim Khánh Trang 50 Giáo trình MatLab GUI Các thuộc tính cần ý: String: giá trị hiển thị đối tượng Tag: tên đối tượng, dùng để phân biệt với đối tượng khác FontName: tên font vă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 normalized Value: giá trị đối tượng, dùng cho đối tượng Popup-menu, List Box, Radio Button, Check Box, Slider Callback: mã lệnh thực tác động lên đối tượng (nên dùng file m để hiệu chỉnh mã lệnh) Sau thiết kế xong ta lưu lại Lúc MATLAB tự động tạo file *.fig dùng lưu giao diện vừa tạo file *.m chưa mã lệnh cần thực 1.3 Tạo menu Để tạo menu, ta mở cửa sổ Menu Editor cách chọn Tools > Menu Editor Hình 2.7 – Mở cửa sổ Menu Editor Phạm Hùng Kim Khánh Trang 51 Giáo trình MatLab GUI New: tạo menu cấp New Menu Item: tạo menu cấp hành Label: nhãn menu Move Selected Item: di chuyển vị trí menu chọn Tag: tên menu, dùng để phân biệt với menu khác Xoá menu Hình 2.8 – Cửa sổ Menu Editor 1.4 Viết mã lệnh file m Để mở cửa sổ soạn thảo file m, chọn menu View > M-file Editor Để hiệu chỉnh thuộc tính Callback đối tượng, ta tìm đến chương trình liên quan đến đối tượng tương ứng, có dạng sau: function pushbutton1_Callback(hObject, eventdata, handles) % hObject % eventdata of MATLAB handle to radiobutton1 (see GCBO) reserved - to be defined in a future version % handles GUIDATA) structure with handles and user data (see % Hint: get(hObject,'Value') radiobutton1 returns toggle state of % -function mnuTool_Callback(hObject, eventdata, handles) % hObject % eventdata of MATLAB handle to mnuTool (see GCBO) reserved - to be defined in a future version Phạm Hùng Kim Khánh Trang 52 Giáo trình MatLab % handles GUIDATA) GUI structure with handles and user data (see pushbutton1, mnuTool: Tag đối tượng, định nghĩa thiết kế giao diện (xem lại phần 1.2 1.3) Mã lệnh cần thiết thêm vào phía sau (và khơng cần thêm end vào cuối) 1.5 Ví dụ tạo GUI Chuyển đổi từ độ Fahrenheit sang thang nhiệt độ khác: Ta thiết kế GUI để chuyển đổi nhiệt độ Giao diện có dạng sau: Hình 2.7 – Cửa sổ chuyển đổi từ độ F sang thang nhiệt độ khác Các thông số đối tượng: Đối tượng Nút nhấn Thông số String: Convert Tag: pushbuttonConvert Radio Button String: Celcius, Rankine, Kelvin Value: 1.0, 0.0, 0.0 Tag: radiobuttonC, radiobuttonR, radiobuttonK Phạm Hùng Kim Khánh Trang 53 Giáo trình MatLab GUI Static text String: Fahrenheit degree Static text String: Celcius degree Tag: text2 Slider Max: 9032 Min: -459.4 SliderStep: [0.001 0.1] Tag: SliderDoF Value: 32 Edit text String: 32 Tag: editDoF Edit text String: Tag: editKQ Mã lệnh cho đối tượng sau: % - Executes on button press in pushbuttonConvert function eventdata, handles) % hObject pushbuttonConvert_Callback(hObject, handle to pushbuttonConvert (see GCBO) % eventdata version of MATLAB reserved - to be defined in a future % handles (see GUIDATA) structure with handles and user data doF = str2num(get(handles.editDoF,'String')); if get(handles.radiobuttonC,'Value') == % Chuyen oC set(handles.editKQ,'String',num2str((doF32)*5/9)); elseif get(handles.radiobuttonR,'Value') == %Chuyen oR Phạm Hùng Kim Khánh Trang 54 Giáo trình MatLab GUI set(handles.editKQ,'String',doF+459.7); else %Chuyen oK set(handles.editKQ,'String',(doF-32)*5/9+273.15); end % - Executes on button press in radiobuttonC function handles) radiobuttonC_Callback(hObject, % hObject eventdata, handle to radiobuttonC (see GCBO) % eventdata version of MATLAB % handles (see GUIDATA) reserved - to be defined in a future structure with handles and user data % Hint: get(hObject,'Value') returns toggle state of radiobuttonC set(handles.radiobuttonK,'Value',0); set(handles.radiobuttonR,'Value',0); set(handles.text2,'String','Celcius degree'); % - Executes on button press in radiobuttonR function handles) radiobuttonR_Callback(hObject, % hObject % eventdata version of MATLAB % handles (see GUIDATA) Phạm Hùng Kim Khánh eventdata, handle to radiobuttonR (see GCBO) reserved - to be defined in a future structure with handles and user data Trang 55 Giáo trình MatLab GUI % Hint: get(hObject,'Value') returns toggle state of radiobuttonR set(handles.radiobuttonC,'Value',0); set(handles.radiobuttonK,'Value',0); set(handles.text2,'String','Rankine degree'); % - Executes on button press in radiobuttonK function handles) radiobuttonK_Callback(hObject, % hObject eventdata, handle to radiobuttonK (see GCBO) % eventdata version of MATLAB % handles (see GUIDATA) reserved - to be defined in a future structure with handles and user data % Hint: get(hObject,'Value') returns toggle state of radiobuttonK set(handles.radiobuttonR,'Value',0); set(handles.radiobuttonC,'Value',0); set(handles.text2,'String','Kelvin degree'); % - Executes on slider movement function handles) sliderDoF_Callback(hObject, % hObject handle to sliderDoF (see GCBO) % eventdata version of MATLAB % handles (see GUIDATA) % Hints: slider Phạm Hùng Kim Khánh eventdata, reserved - to be defined in a future structure with handles and user data get(hObject,'Value') returns position of Trang 56 Giáo trình MatLab GUI % get(hObject,'Min') and get(hObject,'Max') to determine range of slider set(handles.editDoF,'String',get(handles.sliderDoF,'V alue')); Phần thực hành 2.1 Tạo menu Thiết kế giao diện tạo menu: Draw Sin Sinc Cos Exit View 2D (dùng lệnh view(2)) 3D (dùng lệnh view(3)) Zoom Fill (dùng lệnh zoom on) Zoom Out (dùng lệnh zoom out) Help About Viết mã lệnh theo yêu cầu: - 2.2 Nhấn Sin: vẽ hàm sin Nhấn Sinc: vẽ hàm sinc Nhấn Cos: vẽ hàm cos Tạo giao diện Thiết kế giao diện bao gồm đối tượng sau: Static Text: String: Amplitude Edit Text: String: Phạm Hùng Kim Khánh Trang 57 Giáo trình MatLab GUI Tag: editAmp Static Text: String: Frequency Edit Text: String: 10 Tag: editFreq Static Text: String: Function Pop-up Menu: String: cos sin sinc Tag: popupmenuFunc Button: String: Draw Tag: pushbuttonDraw Axes: NextPlot: replacechildren XGrid: on YGrid: on ZGrid: on Tag: axes1 Viết mã lệnh theo yêu cầu: - Nhấn nút Draw: vẽ hàm cos/sin/sinc (chọn từ popup menu) theo giá trị biên độ tần số nhập từ Edit Text Phạm Hùng Kim Khánh Trang 58 ... trình MatLab GUI Hình 2.2 – Cửa sổ GUI Quick Start Cửa sổ thiết kế giao diện: Các đối tượng đồ hoạ Thực thi Vùng thiết kế Hình 2.3 – Cửa sổ GUI Layout Phạm Hùng Kim Khánh Trang 48 Giáo trình MatLab. .. hObject % eventdata of MATLAB handle to mnuTool (see GCBO) reserved - to be defined in a future version Phạm Hùng Kim Khánh Trang 52 Giáo trình MatLab % handles GUIDATA) GUI structure with handles... MATLAB % handles (see GUIDATA) Phạm Hùng Kim Khánh eventdata, handle to radiobuttonR (see GCBO) reserved - to be defined in a future structure with handles and user data Trang 55 Giáo trình MatLab

Ngày đăng: 21/01/2018, 11:50

TỪ KHÓA LIÊN QUAN

w