4. Giao diện đồ họa cho người dùng (GUI - Graphical User Interface)
Bắt đầu thiết kế các giao diện đồ họa
Các GUI giúp cho người sử dụng dễ dàng làm các công việc xử lý dữ liệu mà không phải quan tâm đến các câu lệnh thực hiện việc xử lý đó. Người sử dụng GUI chỉ cần chọn, ấn nút và xem kết quả thực hiện.
Làm các giao diện đồ họa (GUI) trong Matlab khá đơn giản. Nếu bạn đã từng sử dụng Visual Basic thì sẽ dễ thấy những sự tương tự của 2 phần mềm.
Để mở môi trường phát triển giao diễn đồ họa, đánh guide
>> guide
Chọn Blank GUI
Vẽ giao diện đồ họa
Chọn các đối tượng bên trái (bao gồm các Push Button (nút ấn), radio button (nút chọn), image (hình vẽ), ..., mỗi đối tượng này có một chức năng và các tùy chỉnh khác nhau) và đặt chúng tại nơi mong muốn. Trong ví dụ này hãy đặt 2 Push Button và một đồ thị như trên hình vẽ dưới.
Thay đổi các thiết lập đối tượng
Click đúp vào các đối tượng để mở Inspector. Ở đây bạn có thể thay đổi các đặc tính của đối tượng. Trong ví dụ này hãy đổi tên Push Button 1 thành Draw Image (ở mục String trong cửa sổ Inspector), còn Push Button 2 đổi tên thành Change Colormap.
Lưu giao diện đồ họa.
Khi bạn đã thay đổi tất cả các đặc tính, bạn nên save giao diện đồ họa lại. Trong ví dụ này save GUI vừa tạo với tên testGUI
Matlab lưu giao diện đồ họa như 1 tập tin đuôi .fig, và tạo ra 1 mfile tương ứng. Mfile này chứa các hàm Callback, là các hàm được gọi khi người dùng tương tác với GUI (ví dụ như khi bạn ấn Push Button thì tương ứng MATLAB sẽ chạy một hàm nào đó do bạn lập trình)
Thêm theo chức năng cho giao diện
Để thêm theo chức năng tới các nút ấn của bạn, thêm các lệnh đến hàm ‘Callback’ trong tập tin testGUI.m. Ví dụ khi người sử dụng click vào nút Draw Image, hàm drawimage_Callback sẽ được gọi lại và thực hiện. Bạn hãy mở testGUI.m và gõ lại các dòng lệnh như sau:
Tất cả dữ liệu cho giao diện đồ họa được lưu trữ trong các handles, vì vậy sử dụng set và get để nhận dữ liệu và thay đổi nó nếu cần thiết. Ví dụ như khi bạn nhập vào GUI một số, muốn GUI đọc được số đó để thực hiện việc tiếp theo bạn phải dùng lệnh get.
Bất kỳ lúc nào bạn thay đổi các handles, lưu nó sử dụng guidata
>> guidata(handles. Figurel, handles);
Chạy giao diện đồ họa
Để chạy giao diện đồ họa, chỉ đánh tên của nó trong cửa sổ lệnh và giao diện đồ họa sẽ xuất hiện nếu không có lỗi lập trình nào.
Chương trình DEBUG sẽ chỉ cho bạn biết các lỗi bên trong của GUI khi bạn mắc lỗi lập trình.
Về phần lập GUI trong MATLAB, chúng tôi sẽ dành riêng một mục trong Toolbox guide để hướng dẫn các bạn kĩ lưỡng hơn.