1. Trang chủ
  2. » Giáo Dục - Đào Tạo

lập trình giao diện guide

18 795 1

Đ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 18
Dung lượng 1,82 MB

Nội dung

Hẵn là phần mềm Matlab hiện nay không còn xa lạ gì với người dùng, nó là một công cụ hỗ trợ tính toán và mô phỏng thực tế rất mạnh, ngoài các tính năng để thực hiện những điều đó, Matlab

Trang 1

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM

TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

BÀI TẬP LỚN MÔN: MATLAB VÀ ỨNG DỤNG

ĐỀ TÀI: LẬP TRÌNH GIAO DIỆN GUIDE

Trang 2

TP Hồ Chí Minh, 13/10/2015

Trang 3

Lời nói đầu:

Ngày xưa những công cụ tính toán thủ công bằng tay, hoặc những bàn tính cổ điển

để hỗ trợ toán học, giờ đây với sự đổi mới của ngành điện tử, công nghệ thông tin, các công cụ tính toán hỗ trợ các ngành kĩ thuật hiện đại ra đời, với sự mạnh mẽ và nhanh chóng của các công cụ phần mềm, các công cụ phần lớn đã thay thế cho việc thực hiện thủ công, giúp kiểm tra kết quả một cách nhanh chóng, giảm chi phí Cùng với đó chính là các phần mêm… các công cụ hỗ trợ kĩ thuật như phần mềm Win cc, Protell, Protues, Mlap, Matlab… Là những công cụ không thể thiếu trong ngành kĩ thuật sau đây mình sẽ giới thiệu phần mềm Matlab, một công cụ hỗ trợ tính toán và

mô phỏng hệ thống hết sức trực quan và chính xác

Hẵn là phần mềm Matlab hiện nay không còn xa lạ gì với người dùng, nó là một công cụ hỗ trợ tính toán và mô phỏng thực tế rất mạnh, ngoài các tính năng để thực hiện những điều đó, Matlab còn hỗ trợ tạo giao diện người dùng (GUIDE), Chúng ta lần lượt tìm hiểu ứng dụng từ cơ bản để hiểu rõ được dao diện GUIDE là gì, làm thế nào để bắt đầu với GUIDE…

Với đề tài về giao diện GUIDE chúng ta sẽ đi sâu vào nghiên cứu ứng dụng và phát triển GUIDE, phát triển giao diện người dùng.

Trang 4

CHƯƠNG 1: SƠ LƯỢC VỀ LẬP TRÌNH GIAO DIỆN NGƯỜI DÙNG (GUIDE)

TRONG MATLAB

I GUIDE LÀ GÌ

- GUIDE (Graphical User Interface) là giao diện đồ họa có điều khiển bởi nhiều thanh công cụ được người lập trình tạo sẵn, cho tương tác giữa người dùng là giao diện chương trình, Mỗi chương trình được người lập trình tạp sẵn giao diện thực hiện một vài chức năngđược người lập tình tạo sẵn và giao tiếp với người sử dụng.

- Ứng dụng của Matlab lập trình giao diện rất mạnh và dễ thực hiện, nó có thể tạo

ra giao diện người dùng tương tự VBB, C++…

- GUIDE bao gồm đầy đủ các chương trình hỗ trợ như thực hiện phép toán LOGIC,

mô phỏng không gian 2D,3D, đọc hiển thị dữ liệu, liên kết đa phương tiện.Giao tiếp với người dùng thông qua hình ảnh, các nút nhấn thực thi

- Hầu hết GUIDE chỉ thực hiện (trả lời) lệnh người dùng thông qua các tác động của người dùng lên giao diện, người sử dụng không cần biết cấu trúc chương trình vẫn

có thể thực hiện được GUIDE được thực hiện thông qua các hàm CALLBACK Khi người dùng tác động lên giao diện bằng các cách khác nhau, hàm CALLBACK sẽ được gọi để thực thi.

II.BẮT ĐẦU VỚI GUIDE

- Có 2 phương pháp để lập trình GUIDE

+ Cách đơn giản nhất là sử dụng công cụ có sẵn trong GUIDE Matlab để lập trình

Ưu điểm của cách này là dễ thực hiện và các hàm FUNCTION được GUIDE tự tạo sẵn.

+ Cách này được lập trình từ siêu tệp Mfile bằng các hàm FUNCTION do người lập trình tự viết, nó có ưu điểm là tùy biến cao Tuy nhiên cách này khó hơn và đòi hỏi người lập trình phải có hiểu biết sâu và trình độ.

- Ở đây với những bài tập đơn giản về giao diện, ta thực hiện cách thứ nhất để lập trình

giao diện với nhưng công cụ được hỗ trợ sẵn trong Matlab

- Khi thao tác trên giao diện chúng ta không thể thay đổi các hàm trong nó.

III CÁC BƯỚC CẦN THỰC HIỆN TRƯỚC KHI BẮT ĐẦU

Trang 5

- Trước tiên để bắt đầu lập trình ta cần phải xác định mục đích của chương trình là gì?

- Sau đó tiến hành xác định các bước thực hiện để mo phỏng giao diện người dùng sao cho hợp lí và chính xác

- Bước cuối cùng là viết chương trình và thực thi.

Sơ đồ sau đây mô phỏng trình tự thực hiện vơi GUIDE:

- Khi bắt đầu với GUIDE, GUIDE tự động tạo ra các mã tập tin được thực thi bởi hàm Callback function GUIDE thao tác trên những kí tự mà người dùng nhập vào vào chuyển sang dạng số học, nói cách khác, giao diện GUIDE tương tự như những lệnh thực thi trong Comment Windowns.

Trang 6

- Tất cả các hàm callback thực thi những lệnh chứa trong nó.

- Chúng ta nên sử dụng chức năng HELP của Matlab để tìm hiểu them tất cả cách hàm thực thi trong GUIDE, cách tạo và thao tác với GUIDE …

CHƯƠNG 2: BẮT ĐẦU THAO TÁC VỚI (GUIDE)

Đây là phiên bản Matlab R2014B, các phiên bản khác cũng có thể thao tác tương tự.

IV KHỞI ĐỘNG GUIDE

- Thực hiện khởi động Matlab đến GUIDE theo hình sau:

+ Khởi động Matlab từ biểu tượng Matlab trên màn hình desktop

+ Trong cửa sổ Comment Windowns gõ lệnh “GUIDEde” và enter: ta được giao diện màn

hình như sau:

Trang 7

- Chọn: Dòng “Blank GUIDE (Default)”: để tao một giao diện GUIDE bắt đầu với giao diện trống.

Các dòng còn lại để khởi động GUIDE với một giao diện được tạo sẵn.

+ Chú ý: Trong Matlab GUIDE hỗ trợ sẵn hộp thoại công cụ “Modal Question Dialog”

để tạo ra giao diện với 2 nút tùy chọn “yes no question” để thực thi lệnh Ta có thể ứng dụng để tọa lệnh thoát khỏi chương trình bằng nút nhấn Exit.

- Nhấp chọn OK để tạo một giao diện bắt đầu với giao diện trống ta được hình ảnh giao diện trong GUIDE như sau:

- Trước khi tạo giao diện ta lưu File lại, Matlab sẽ tự động lưu 2 file, một file đuôi m

và một file đuôi fig hoặc ta có thể nhấn F5, Matlab sẽ chuyển đường dẫn đến thư mục lưu file, chọn nơi cần lưu và nhấn Save.

V MÔ TẢ CHỨC NĂNG CÁC CÔNG CỤ TRONG GIAO DIỆN GUIDE

- Trong giao diện trên chúng ta có thể thao tác để tùy biến các thanh công cụ phù hợp với mục đích sử dụng.

Trang 8

Mô tả chức năng các công cụ cơ bản:

1) Nhấp chuột vào để thay đổi độ rộng của giao diện

2) Là nơi để cân chỉnh các nút, biểu tượng trên giao diện.

3) Là nơi để tạo giao diện con liên kết với giao diện chính.

4) Nút Play (Run) để thực thi chương trình.

- Phía bên trái là nhóm các biểu tượng được Matlab GUIDE hỗ trỡ sẵn:

+ Push Button: là nút nhấn, khi nhấn vào sẽ thực thi lệnh trong cấu trúc hàm

callback của nó

+ Slider: là thanh trượt cho phép người dùng di chuyển thanh trượt để thục thi lệnh + Radio Button: Nó giống như Check Box nhưng thường được sử dụng để tạo sự lựa chọn duy nhất, tức là 1 lần chỉ được chọn 1 trong số các nhóm nhiều nút Khi một ô được chọn thì các ô còn lại trong nhóm bị bỏ chọn.

+ Check box: Sử dụng để đánh dấu tích (thực thi) vào và có thể check nhiều ô để thực thi.

+ Edit Text: là nơi các kí tự được nhập vào từ người dùng, người dùng có thể thay đổi

được.

Trang 9

+ Static Text: Là các kí tự được hiển thị thông qua các callback, hoặc thông thường để

viết nhãn cho các biểu tượng, người dùng không thể thay đổi nội dung.

+ Pop-up Menu: mở ra danh sách các lực chọn khi người dùng nhấp chuột vào Chỉ chọn được 1 mục trong danh sách các mục.

+ List Box: hộp thoại danh sách cách mục, cho phép người dùng chọn một hoặc nhiều

mục.

+ Toggle Button: là nút nhấn có 2 điều khiển, khi nhấp chuột và nhả ra, nút nhấn được giữ và lệnh thực thi, khi nhấp chuột vào lần thứ 2, nút nhấn nhả ra, hủy bỏ lệnh vừa thực thi.

+ Table: tạo ra một bảng tương tự trong Excel.

+ Axes: Đây là giao diện đồ họa hiển thị hình ảnh, nó có nhiều thuộc tính bao gồm: không gian 2D (theo trục đứng và trục ngang), 3D (hiển thị không gian 3 chiều) + Panel: Tạo ra một mảng nhóm các biểu tượng lại với nhau giúp ta dễ kiểm soát và thao tác khi di chuyển

+ Button Group: quản lí sự lựa chọn của nút Radio Button.

+ Active Control: Quản lí một nhóm các bút hoặc các chương trình liên quan với nhau

trong Active.

VI GIỚI THIỆU HỘP THOẠI INSPECTOR

- Tất cả các hộp thoại bên trái vừa nêu trên để sử dụng, chúng ta nhấp chọn và kéo thả vào vùng cần thiết kế, mỗi hộp thoại có các thông số chỉnh riêng, để chỉnh các thông số liên quan đến hộp thoại nào ta nhấp đôi vào hộp thoại đó (hoặc click chuột phải chọn Property Inspector) hộp thoại Inspector hiện ra như sau, dùng thanh trượt kéo xuống để xem hết chức năng:

- Phía bên trái của Menu Inspector là tên thuộc tính, có thể gọi thực thi các thuộc tính này

bằng các lệnh.

- Phía bên trái là giá trị của thuộc tính, giá trị này do người dùng đặt, có thể thay đổi thông

qua các lệnh gọi (callback), hoặc được thiết lập trước

Trang 10

Ở trên là sơ lược cơ bản về giao diện GUIDEde người dùng, sau đây sẽ trình bày chi tiết

cách tạo một giao diện thực tế với yêu cầu của bài toán đề ra.

CHƯƠNG 3: THIẾT KẾ GIAO DIỆN (GUIDE)

Trong phần này, giải thích các thông số trong Inspector đồng thời chỉnh sửa

Trang 11

từng hộp thoại sẽ được trình bày song song.

I THIẾT KẾ GIAO DIỆN

- Nhấn tổ hợp phím Ctrl + S để thực hiện lưu file, sau khi chọn đường dẫn để lưu file (Chú ý không lưu file với các biến đặc biệt hoặc bằng các con số khởi đầu), nhấn save Matlab sẽ tự động tạo ra 2 file gồm một file m và một file fig, trong đó file m

là Mfile chứa các hàm Matlab đã tạo sẵn hỗ trợ giao diện.

- Lần lượt kéo thả các nút như hình sau:

(HÌNH)

- Mỗi hộp thoại có Inspector , bằng cách nhâp đúp chuột vào hoặc chuột phải chọn Property Inspector.

II MỘT VÀI THUỘC TÍNH CỦA ĐỐI TƯỢNG TRONG MENU INSPECTOR

- Sau đây là bảng mô tả các giá trị và thuộc tính của các hộp thoại trong hình, chúng

ta tiếnhành thay đổi các giá trị tương ứng theo bảng sau:

(BẢNG)

- Hình sau mô tả cách thay đổi giá trị trong ô String của Select Function:

(HÌNH)

+ Sau khi viết xong, nhấn OK để lưu lại

- Sauk hi chỉnh sửa các thông số ta dùng chuột để di chuyển các hộp thoại, bố trí hộp thoại theo mong muốn, ta được giao diện như sau:

(HÌNH)

III MỘT VÀI CHỨC NĂNG MỞ RỘNG

- Chú ý, để tạo sự thẳng hàng, cột của các hộp thoại cho đẹp mắt ta làm như sau: Nhấn giữ phím Ctrl và nhập vào các hộp thoại muốn chỉnh sửa, Trên Menu chọn

Align

Objects Hộp thoại Align hiện ra như sau:

Trang 12

- Trong hộp thoại trên ta có thể cân chỉnh các nút, nhóm nút sao cho chúng thẳng hàng,

thẳng cột và đều nhau Sau khi cân chỉnh nhấn nút Apply để lưu thay đổi.

- Bây giờ ta thiết lập thuộc tính chung cho giao diện (toàn bộ vùn thiết kế hay nền giao

diện).

+ Nhấp đúp chuột vào bất cứ vị trí nào trên nền giao diện để vào hộp thoại

Inspector

(hoặc trên menu chọn View -> Property Inspector), hộp thoại Inspector hiện ra như sau:

+ Thiết lập Tag là “exit”.

- Tiếp tục tùy chọn nâng cao , vào Menu Tools -> GUIDE Options

Trang 13

Hộp thoại hiện ra như sau:

- Trên hộp thoại Resize behavior chọn dòng số 2 (Proportional), dòng này cho phép người dùng thay đổi khích thước của giao diện và các đối tượng cũng tự động thay đổi kích

thước phù hợp với nền giao diện, nhấn OK để lưu thay đổi.

Trang 14

CHƯƠNG 4 : THỰC THI HÀM TRONG GUIDE

Ở phần này từng câu lệnh sẽ được giải thích khi thực thi.

I GIAO DIỆN TRONG MFILE

- Khi đã cân chỉnh xong toàn bộ giao diện trong GUIDE, nhấn F5 (hoặc nhân tổ hợp

phím Ctrl + T hoặc nhấp vào biểu tượng trên thanh Menu).

- Khi Run, Matlab sẽ tự chạy file m và hiển thị doa diện đồ họa lên màn hình ở đây

ta bắt đầu thao tác với file m

Trang 15

- Khi ta chưa thao tác trong Trong file m xuất hiện như trên hình, trong đó, tất cả các hàm function đều được Matlab hỗ trợ tạo sẵn các hàm chức năng có liên quan,

ta chỉ việc thao tác trên đó.

- Mỗi sau một hàm bất kì đều có các chú thích bên dưới (sau dấu %), ta có thể xóa toàn bộ chúng đi đễ dễ nhìn cũng không ảnh hưởng đến các hàm.

- Trong Mfile có sẵn các hàm callback, ta có thể tìm trong Mfile các hàm liên quan

để viết câu lệnh, tuy nhiên, để nhanh hơn chúng ta có thể làm như sau:

+ Quay lại màn hình giao diện GUIDE vừa thiết kế, nhấp vào hộp thoại muốn thực

thi hàm callback, nhấp chuột phải chọn View Callbacks -> Callback

+ Sau đó hàm callback sẽ tự động được gọi và con trỏ chuột sẽ tìm đến vị trí của nó

trong Mfile.

Trang 16

- Bây giờ khi muốn gọi một hàm nào ta cũng có thể thực hiện như trên Sau đó tiến hành viết câu lệnh cho nó.

II MỘT SỐ HÀM TRONG GUIDE

- Hàm callback được lập trình cho các nút button, checkbox, edit text… nhưng

static text và axes… thì không có hàm callback.

- Mỗi một callback được viết với cấu trúc như sau:

function Tag_Callback(hObject, eventdata, handles)

- Với Tag chính là giá trị của Tag mà ta đã đặt khi tạo giao diện Các hàm chứa bên trong Callback bao gồm hObject, evendata,handles

+ hObject là hàm truy cập nội bộ của mỗi function riêng lẽ

+ Evendata là hàm xác đinh thuộc tính của function

+ Handles là hàm truy cập liên kết giữa các function, nó bao gồm tất cả các cấu trúc củangười dùng, được sử dụng để truy xuất qua các điều khiển khác.

- Hàm Get cho phép ta gọi thuộc tính của đối tượng.

- Hàm Set cho phép ta đặt giá trị cho thuộc tính của đối tượng

III KHÁI NIỆM BIẾN HỆ THỐNG

Để dễ dàng trong việc tạo sự liên kết giữa các hàm callback với nhau, Matlab GUIDE hỗ hợ một biến chung gọi là biến hế thống giúp các hàm callback đều sử dụng được, sau đây là cách sử dụng:

Trước khi bắt đầu lập trình ta tìm dòng sau trong Mfile và them một dòng mới như sau:

- Giải thích: handles.unit_input lúc này là biến trung gian trong hệ thống, bất cứ

hàm

callback nào cũng có thể sử dụng nó, ban đầu ta gán cho nó giá trị =0 Chúng ta phải đặt

nó ở hàm function OpeningFcn (xem hình) để biến này có thể được khởi động

ngay khi

chương trình bắt đầu chạy.

Trang 17

Để lấy giá trị của nó ta chỉ việc viết câu lệnh tương tự như sau:

d=handles.unit_input; % gia tri dược lưu vào biến d

- Hai hàm cơ bản nhất ta sẽ thường xuyên sử dụng đến là:

- Biến hệ thống được lưu lại với lệnh:

Handles(hObject,handles)

Đặt lệnh trên ngay khi kết thúc hàm function mà ta đặt biến hệ thống

- Biến hệ thống có thể có nhiều tùy ý nhưng không được trùng tên.

Ở phần cuối sẽ có ví dụ cụ thể để hiểu rõ sự liên hệ giữa các biến đơn lẻ và

biến

hệ thống.

CHƯƠNG 5: LẬP TRÌNH CÁC ĐỐI TƯỢNG

CHƯƠNG 6: CÁCH SỬ DỤNG GIAO DIỆN

- Để bắt đầu với giao diện, chúng ta làm theo một trong những cách sau:

+ Trong màn hình thiết kế giao diện, nhấn phím F5 trên bàn phím

+ Nhấn vào biểu tượng nút Play trong màn hình thiết kế giao diện

+ Trong màn hình thao tác trên Mfile, nhấn phím F5 để chạy chương trình

- Trước khi muốn sử dụng ta có thể sắp xếp các menu theo trình tự tùy ý.

Trang 18

CHƯƠNG 7: CHƯƠNG TRÌNH

Tài liệu tham khảo:

Website:

http://www.dientuvietnam.net/ https://www.youtube.com/ Matlab:

Examples, Help.

Ngày đăng: 02/06/2017, 17:11

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w