1. Trang chủ
  2. » Địa lí lớp 10

Bài giảng tóm tắt Matlab căn bản (dành cho sinh viên khối tự nhiên - công nghệ): Phần 2

10 20 0

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

THÔNG TIN TÀI LIỆU

Callback là m ột h àm mà khi vi ết mi êu t ả h ành vi c ủa một th ành ph ần GUI xác định hoặc là c ủa chính GUI figure, điều khiển các h ành vi c ủa chúng bằng cách thực hiện một số h à[r]

(1)

Giáo trình Matlab Thái Duy Quý

Trang 43 y = vy*t;

Tính thành phần vec tơ vận tốc hiển thị dùng quiver3: u = gradient(x);

v = gradient(y); w = gradient(z); scale = 0;

quiver3(x, y, z, u, v, w, scale) axis square

17. Kết chương

Trong chương này, sinh viên làm quen với số lệnh vẽđồ thị dựa liệu Chương giúp sinh viên làm quen với số lệnh vẽđồ thị 3D nâng cao

(2)

Giáo trình Matlab Thái Duy Quý

Trang 44

CHƯƠNG LẬP TRÌNH GIAO DIỆN NGƯỜI DÙNG (GUI)

Chương hướng dẫn người dung lập trình cửa sổ, dạng lập trình giao diện người dùng thường thấy ngôn ngữ cấp cao

1. Cách thực

Mở phần mềm Matlab, gõ lệnh sau vào cửa sổ Command: >> guide

Cửa sổ GUIDE Quick Start sau:

Trong cửa sổ GUIDE Quick Start có nhiều lựa chọn theo khuôn mẫu sau:

Thẻ Create New GUI: Tạo hộp thoại GUI theo loại sau:

- Blank GUI (Default): Hộp thoại trống, khơng có điều khiển uicontrol - GUI with Uicontrols: Hộp thoại với vài uicontrol button,

- GUI with Axes and Menu: Hộp thoại với uicontrol axes button, menu để hiển thị đồ thị

- Modal Question Dialog: Hộp thoại đặt câu hỏi Yes, No

Thẻ Open Existing GUI: giúp người dùng mở project có sẵn tạo trước

(3)

Giáo trình Matlab Thái Duy Quý

Trang 45

2. Lập trình giao diện với Blank GUI

Giao diện giống với chương trình lập trình giao diện Visual Basic, Visual C++, C# Di chuột qua biểu tượng bên trái thấy tên điều khiển

Sau sốđiều khiển thường dùng:

Push Button: Là nút bấm nút OK, Cancel mà ta bấm (tương tự Button

trong ngôn ngữ bậc cao)

Slider: Thanh trượt có trượt chạy

Radio Button: Chọn lựa điều kiện tập điều kiện

Check Box: Chọn lựa nhiều điều kiện tập điều kiện

Edit Text: Là ô cho người dung nhập văn

Static Text: Là ô hiễn thị văn người dùng

Pop-up Menu: Người dùng chọn đối tượng danh sách sổ xuống

List Box: Cho phép người dùng chọn đối tượng danh sách

Axes: Thực vẽ hệ trục tọa độ

Panel: Là dạng phân ô thành phần giao diện

Button Group: Nhóm button

ActiveX Control: Các Control người dung nhúng thêm vào

(4)

Giáo trình Matlab Thái Duy Quý

Trang 46 Phía menu, trọng menu Tools có:

Run (Ctr + T): Chạy chương trình viết, báo lỗi chương trình chứa lỗi Để

chạy chương trình, hệ thống bắt buộc người dùng phải lưu lại ứng dụng

Align Object: dùng để xếp điều khiển lề cho đối tượng

Grid and Rulers: Hiễn thị lưới thước giao diện

Menu Editor: Tạo menu cho ứng dụng

Tab Order Editor: xếp thứ tự xuất chuột lên đối tượng nhấn phím

Tab lúc chạy ứng dụng

Gui Options: Một số lựa chọn cho giao diện GUI

Khi ta lưu lại (vào File\Save nhấn Ctrl + S) với tên (ví dụ: vidu), hệ thống đồng thời xuất hai cửa sổ cửa sổ soạn thảo cửa sổ thiết kế Trong thư mục vừa lưu có hai tập tin:

vidu.fig: Tập tin chứa giao diện chương trình, nơi cho người dung thiết kế cách kéo thảcác điều khiển để tạo ứng dụng

vidu.m: tập tin chứa mã thực thi cho chương trình hàm khởi tạo, hàm callback

3. Kéo thvà thiết lập thuộc tính cho điều khiển

Ví dụ: Thực chương trình cho người dùng nhập vào hai số, nhấn nút hiễn thị kết phép tính cộng số vừa nhập

Thực bước sau:

(5)

Giáo trình Matlab Thái Duy Quý

Trang 47

Click đôivào Edit Text để xuất cửa sổ thuộc tính điều khiển sau:

Một số thuộc tính quan trọng Edit Box bao gồm:

 Tag: tên điều khiển Dùng tên có thểthao tác đến thuộc tính đối tượng Ởđây ta đặt tên là: txtX

 String: xâu kí tự lên Edit Box Có thểđể trống thiết lập

Tương tự, thay đổi thuộc tính tag Edit Box thứ thành txtY, Static Box tương tự thành txtKetQua

Với Push Button: thuộc tính tag đặt cmdCalculate, String đặt “ket qua

4. Viết lệnh cho chương trình

Chương trình có tác dụng nhấn vào nút Push Button lên kết Static Box Vì phải viết vào hàm mà nhấn vào Push Button gọi Chính hàm Callback Điều khiển có hàm callback, giống hàm ngắt vi điều khiển

(6)

Giáo trình Matlab Thái Duy Quý

Trang 48

Nhìn vào định nghĩa hàm Editor ta thấy là: hàm thực nhấn vào nút buttonCalculate

Hàm có số tham số:

hObject : handle điều khiển buttonCalculate

eventdata: dữ liệu kiện xẩy

handles: cấu trúc chứa tất điều khiển liệu người dùng, dùng để truy xuất điều khiển khác

Qua thuộc tính tag điều khiển ta truy suất đến thuộc tính string điều khiển txtX, txtY, txtKetQua lệnhget set

get(handles.tag_dieu_khien, 'ten thuoc tinh');

set(handles.tag_dieu_khien, 'ten_thuoc_tinh', gia_tri);

(7)

Giáo trình Matlab Thái Duy Quý

Trang 49 Nhấn nút Run kiểm tra kết quả:

5. Các tính chất điều khiển GUIDE Matlab

Để cửa sổ tính chất Property Inspector điều khiển, có cách sau:  Nhấn đúp chuột vào điều khiển

 Chọn điều khiển vào menu View, chọn Property Inspector.

 Chọn điều khiển nhấn vào biểu tượng Property Inspector, gần chỗ M-file editor

Khi đó, cửa sổ Property Inspector Khi nhấn vào điều khiển khác cửa sổ thông tin tương ứng cho điều khiển

Một vài tính chất chung điều khiển mà bạn nên ý: Tính chất (property) Giá trị (value) Mô tả

Enable on, inactive, off

Mặc định là: on

Xác định điều khiển hiển thị lên giao diện Đặt = off, điều khiển khơng xuất Max Mặc định Giá trị lớn nhất, tùy thuộc vào điều khiển

Min Mặc định Giá trị nhỏ nhất, tùy thuộc vào điều khiển

Position Vector gồm phần tử

(left, bottom, width, height)

Kích thước điều khiển vị trí tương đối

nó với điều khiển chứa

String Chuỗi hiển thị

Units Đơn vị đo lường dùng xác định vị trí

Value Vơ hướng vector Giá trị component, tùy thuộc vào

component

(8)

Giáo trình Matlab Thái Duy Quý

Trang 50

6. Tổng quan hàm Callback lập trình GUI

Sau tạo giao diện xong phần lập trình quan trọng, lập trình hành vi điều khiển để đáp ứng lại kiện nhấn phím, kéo trượt, chọn menu, hàm Callback (giống hàm kiện ngôn ngữ khác)

a. Thế nào hàm Callback

Callback hàm mà viết miêu tả hành vi thành phần GUI xác định GUI figure, điều khiển hành vi chúng cách thực số hành động viết hàm, để đáp ứng lại kiện thành phần Cách lập trình thường gọi là: Lập trình lái kiện (event driven programming)

Ví dụ, bạn nhấn Button vẽ đồ thị, tính tổng, … Vậy nhấn phím hiển nhiên gọi hàm Callback nhấn phím Button đó, hàm Callback thực lệnh vẽ đồ thị, tính tổng, … tương ứng

b. Các loại hàm Callback

Mỗi thành phần có nhiều hàm Callback khác nhau, sau liệt kê loại hàm Callback điều khiển có hàm

Callback property Sự kiện xảy ra Thành phần có hàm

ButtonDownFcn Thực người dùng nhấn chuột lên pixels component figure Nếu component thuộc tính Enable phải on ( tất nhiên rùi )

Axes,figure,button group,panel,user interfacecontrols

Callback Hành động component, ví dụ thực thi người dùng click lên Push Button chọn thành phần menu

Contextmenu, menu,userinterface controls

CloseRequestFcn Thực thi trước figure đóng Figure CreateFcn Tạo thành phần.Nó dùng để

khởi tạo thành phần

(9)

Giáo trình Matlab Thái Duy Quý

Trang 51

tạo Nó thực thi sau thành phần figure tạo, trước hiển thị lên giao diện người dùng

menu,panel,user interfacecontrols

DeleteFcn Xóa thành phần Nó dùng để thực hành động xóa bỏ trước component figure bị hủy bỏ

Axes,figure,button group,contextmenu, menu,panel,user interfacecontrols KeyPressFcn Thực thi người dùng nhấn

phím keyboard component figure hàm callback focus

Figure,userinterface controls

KeyReleaseFcn Thực thi người dùng nhả phím bấm figure focus

Figure

ResizeFcn Thực thi người dùng thay đổi kích thước panel, button group, figure với điều kiện thuộc tính

Resize figure = on

Buttongroup,figure, panel

SelectiononChangeFcn Thực thi người dùng lựa chọn nút Radio Button khác toggle button khác thành phần Button Group

Buttongroup

WindowButtonDownFcn Thực thi bạn nhấn chuột (trái phải) trỏ nằm vùng cửa sổ figure

Figure

WindowButtonMotionFcn Thực thi bạn di chuyển trỏ vùng cửa sổ figure

Figure

WindowButtonUpFcn Ban đầu bạn nhấn chuột (trái, phải) nhả phím hàm

(10)

Giáo trình Matlab Thái Duy Quý

Trang 52 gọi

WindowScrollWheelFcn Thực thi nút cuộn chuột cuộn figure tầm focus

Figure

7. Chương trình Calculator

Có nhiều cách để tạo chương trình "Máy tính bấm tay" hay Calculator Ví dụ sau hướng dẫn tạo chương trình máy tính bấm tay đơn giản sử dụng kỹ thuật trùng "Callback" lập trình giao diện GUI

Sử dụng GUIDE, thiết kế giao diện chương trình sau:

Đặt thuộc tính cho đối tượng sau:

- Edit Text: Tag=edit1 (mặc định); FontSize=20; Enable=Inactive; HorizontalAligment=right; - Đặt thuộc tính Tag tất nút là: pushadd (ngoại trừ nút: "=" "%" "C") - Nút "=": Tag=pushequal

- Nút "%": Tag=pushpercent - Nút "C": Tag=pushclear

Ngày đăng: 09/03/2021, 05:42

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w