You are here
Home > Lập Trình > Tự Học Matlab > Matlab Nâng Cao > Lập Trình GUI > Lập trình Matlab GUI – Làm Quen Giao Diện GUI Trong Matlab

Lập trình Matlab GUI – Làm Quen Giao Diện GUI Trong Matlab

Matlab GUI – Cách Sử Dụng GUI Trong Matlab 

Đây là Serie học cách lập trình giao diện GUI ở trong Matlab mà VuTienIT muốn chia sẻ đến bạn cùng nhau học tập và nghiên cứu. Khóa học này sẽ là kiến thức vững chắc giúp bạn làm chủ được GUI cũng như để bạn có thể phát triển sau này.

Bài viết này cũng như là các bài viết về sau thì sẽ có mối liên hệ với nhau. Cho nên bạn không nên học bỏ quãng như là đang học bài 1 mà học luôn bài 3 chẳng hạn. Bởi vì các ví dụ sẽ xuyên suốt nhau. Chính vì điều này nếu bạn ngắt quãng khi học thì bạn sẽ không hiểu được vấn đề. Vậy mong bạn hãy học theo một cách bài bản để đạt được hiệu quả nhất trong học tập.

Thì như thường lệ trước khi vào vấn đề chính thì bạn cần tìm hiểu khái niệm Gui trong Matlab là gì? Sau đó chúng ta mới tiến hành nghiên cứu chi tiết cách sử dụng của nó để bạn không bỡ ngỡ kiểu như là có ngọn nhưng không có gốc.

matlab-gui-cach-su-dung-gui-trong-matlab
matlab-gui-cach-su-dung-gui-trong-matlab

| GUI Là gì?

GUI được viết tắt của từ “Graphical User Interface” dịch theo tiếng việt nôm la là Giao diện người dùng đồ họa. Là ta sẽ tiến hành sử dụng chuột để thao tác các thanh công cụ đã được con người lập trình sẵn và tích hợp vào phần mền Matlab. Nó cho phép bạn tương tác giao diện chương trình từ đó bạn nhìn được một cách khách quan nhất và bắt đầu viết code để tương tác giao diện

Nếu như bạn học lập trình C# với Windows Form thì lập trình GUI cũng giống vậy. Cũng thao tác kéo thả button, textbox, layout,… giúp bạn nhanh chóng tạo ra giao diện, giảm thời gian ngồi Code.

| GUI hỗ trợ gì?

Trong Matlab thì GUI hỗ trợ bạn khá là đầy đủ các chương trình để bạn thực hiện. Như là tính toán với phép toán LOGIC, lập trình không gian 2D, 3D, đọc dữ liệu từ Excel, sử lý hình ảnh,… Nó được thực hiện thông qua hàm xây dựng sẵn là CALLBACK. Bạn không cấn phải biết nhiều về cấu trúc của trương trình mà vẫn có thể thực hiện được.

| Cách sử dụng GUI trong Matlab

Tại cửa sổ Command Window bạn hãy tiến hành gõ lệnh dưới đây và nhấn Enter

guide

Lập tức cửa sổ GUIDE Quick Start xuất hiện nên như hình phía dưới.

guide-quick-start
guide-quick-start

– Tại tab Create New GUI thì cho phép bạn 4 sự lựa chọn sau:

  • Blank GUI (Default): Là bạn lập trình giao diện trống, chưa có thứ gì cả.
  • GUI with Uicontrols, GUI with Axes and Menu, Modal Question Dialog: Là các templates đã có giao diện sẵn ở mức cơ bản. Ta đang bắt đầu học thì sẽ chọn Blank GUI (Default) sau này bạn có kiến thức rồi thì hãy sử dụng các templates khác.

– Tab Open Existing GUI là nơi bạn có thể mở các GUI và bạn đã làm và lưu trước đó, file này có đuôi là .fig

Oke giao diện đã được hiện thị nên. Như bạn thấy hình dưới thì đây là một GUI trống chưa có gì cả và cững chưa được đặt tên.

blank-gui-default
blank-gui-default

Bạn nhìn sang bên trái thì đây nó liệt kê cho bạn danh sách các Tool. Bạn có thể nhấn vào các tool và kéo vào phần giao diện (Ở giữa) một cách nhanh nhất. Bạn cũng không cần quá lo lắng các Tool này dùng để làm gì. Sau các bài học thì VuTienIT xin được giải thích cho bạn hiểu qua từng ví dụ cụ thể.

Để bạn có thể dễ hiểu các sử dụng các tool cở bản thì ta sẽ tiến hành làm một ví dụ.

Bạn hãy di chuột vào các tool Push Button, Static Text và nhấn vào kéo vào giữa màn hình. Bạn có thể phóng to thu nhỏ tùy ý bạn.

lap-trinh-matlab-gui-co-ban-den-nang-cao
lap-trinh-matlab-gui-co-ban-den-nang-cao
  • Push Button: Dùng để khi bạn nhấn chuột vào thì nút này sẽ xử lý một công việc nào đó mà bạn muốn.
  • Static Text: Dùng để hiện thì thông tin cho một đối tượng nào đó hoặc bạn có thể xuất dữ liệu từ trương trình ra đây. Ví dụ bạn thường vào các trang mà cho bạn đăng ký thành viên thì ở ô nhập tài khoản, mật khẩu ở bên cạnh sẽ là các Label (Các nhãn) có chữ chú thích chẳng hạn là nhập tên tài khoản, nhập mât khẩu. Thì Static Text cũng tương tự như vậy.

Để thay đổi tên của các tool này cũng như màu sắc, thuộc tính… thì bạn chỉ cần nhấp đúp chuột vào Tool đó thì lập tức một cửa sổ mới xuất hiện được gọi là Inspector.

inspector-gui
inspector-gui

Cửa sổ Inspector này cho phép bạn thay đổi các thuộc tính của đối tượng Tool nào đó mà bạn muốn.  Bạn có thể thay đổi màu, cỡ chữ… theo ý thích của mình. Ở đây VuTienIT muốn nhấn mạnh các thuộc tính quan trọng mà bạn cần chú ý để sau này lập trình cho nó dễ dàng thôi.

  • String: Là trường để hiện thị tên nào đó mà bạn muốn hiện thị ở GUI. Nó hiện thị cho bạn nhìn thấy như Ví dụ trên đó là “Nhập Tên tài khoản”, nó không ảnh hưởng đến trương trình (Code) mà bạn thực hiện. Bạn có thể thay đổi thành tên nào cũng được.
  • Style: Chức năng cái này là bạn có thể thay đổi đối tượng Tool này thành một đối tượng khác mà bạn muốn ví dụ như là bạn thay đổi Static Text thành Push Button chẳng hạn. Nhưng thường thì bạn cũng không nên động đến cái này vì nếu bạn có kéo thả đối tượng tool nào đó mà sai thì bạn hoàn toàn có để delete (xóa) đi.
  • Tag: Cái trường này là rất quan trọng bạn hãy chú ý đến nhé. Nó có chức năng là định danh cho Tool đó để khi vào lập trình bạn lấy tên này để gọi sử lý một chức năng nào đó. Nó giống như là Mã Sinh Viên của một ai đó vậy. Bạn có thể thay đổi thành tên nào cũng được nhưng tuyệt đối bạn không được đặt tên trùng với tên mà các Tool khác đã đặt trước đó. Bởi vì nó phải là tên duy nhất thì sau này gọi nó mới được. Chứ 2 tên trùng nhau thì sẽ lỗi trương trình không biết gọi đến Tool nào cả.

Khi thay đổi xong thì bạn chỉ cần tắt Inspector đi thì tự động trương trình sẽ lưu lại các thiết lập mà bạn đã thay đổi.

Oke để chạy trương trình hay nói cách khác hiện thị nên thì bạn hãy nhấn vào hình Tam giác như hình dưới. Nếu bạn chưa lưu trương trình này thì một cửa sổ hiện nên cho phép bạn đặt tên để lưu sao đó mới chạy.

Thường thì tên trương trình bạn nên đặt thành tên theo tính gợi nhớ. Nghĩa là sao? Bạn hiểu đơn giản là trương trình bạn đang làm dùng để làm gì thì bạn đặt tên cho nó như vậy để sau này bạn còn hiểu chứ bạn đặt tên như là a,b,c thì chả hiểu nó dùng để làm gì cả,

chay-truong-trinh-gui
chay-truong-trinh-gui

Thì lập tức một File được sinh ra. Như ví dụ này thì VuTienIT đặt tên là Vidu2 thì file này sẽ sinh ra có đuôi là .m. File này dùng để bạn lập trình code tương tác đến các tool bạn đã tạo ra ở trên.

Tất nhiên nếu bạn chạy trương trình trên lên và nhấn vào Push Button thì chả có truyện gì xảy ra cả. Bởi vì bạn chưa viết một chút code nào để sử lý tool này cả. Và chính file Vidu2.m này sẽ đảm nhận nhiệm vụ đó.

file-m-matlab
file-m-matlab

| Tim hiểu file .m của GUI

VuTienIT xin được giải thích một số Function mặc định có trong file vidu2.m mà khi bạn lập trình giao diện thì nó tự động sinh ra. Bạn hãy mở File này ra và chú ý đến các  Function dưới đây

function vidu2_OpeningFcn(hObject, eventdata, handles, varargin)

Trong đó:

  • vidu2: là tên file .m của bạn đã lưu trước đó.
  • OpeningFcn: Thì Function này đảm nhận nhiệm vụ là phần để bạn khởi tạo các biến, các yếu tố mà khi bạn muốn chạy trương trình nên thì lập tức các biến này sẽ được gọi nên đầu tiên.
function pushbutton1_Callback(hObject, eventdata, handles)

Trong đó:

  • pushbutton1 Tag của một Tool nào đó mà bạn kéo vào giao diện. (Nếu bạn không biết Tag là gì thì bạn hãy đọc lại phần bên trên).
  • Callback: Là Function khi bạn thực hiện thao tác gì đó trên GUI. Gỉa sử bạn nhấn chuột vào 1 Button nào đó mà bạn Kéo vào GUI thì Function sẽ thực hiện các câu lệnh bên trong mà bạn đã viết.

Trên đây là 2 Function bạn là người mới bắt đầu học thì cần chú ý đến. Còn các Function khác thì sau này VuTienIT xin được giới thiệu vào từng ví dụ cụ thế.

Tổng Kết:

Như vậy thì bạn đã được học qua cách sử dụng giao diện GUI của Matlab rồi đó. Nhìn chung thì cũng không khó khăn lắm bạn chỉ cần thao tác đi lại vài lần la sẽ quen. Trong bài sau thì chúng ta sẽ học về cách sử dụng Tools Pushbutton, Edittext. Chúc bạn học tập tốt.

4.2 5 phiếu bầu
Đánh giá bài viết

Thủ Thuật Windows

Nếu như trong quá trình bạn tải file Active về mà bị thông báo là "tệp chứa virus" và bị xóa thì hãy làm theo các bước sau trước khi tải về nhé:

Bước 1: Tắt Windows Defender (Win 10), bạn hãy làm theo các bước này để tắt Defender tạm thời nhé, sau khi Active xong, bạn có thể bật lại:
1. Mở ứng dụng Settings.
2. Trên cửa sổ Settings, bạn tìm và click chọn Update & security.
3. Tiếp theo click chọn Windows Defender.
4. Chuyển trạng thái tùy chọn Real-time protection sang OFF.

Bước 2: Ngoài ra, Nếu trong quá trình tải về mà bạn dùng trình duyệt Chrome hay Cốc Cốc thì sau khi file tải xong không được bấm "Hủy" mà bạn nên bấm tổ hợp phím “Ctrl + J” để vào phần quản trị download, tìm đến file mà bạn tải rồi click vào ô “Khôi phục tệp…” nhé.

Có một số trường hợp file Active tải về mặc định bị xóa, nếu gặp trường hợp này bạn cần chắc chắn rằng Windows Defender hay phần mềm diệt virus trên máy đã được tắt. Sau đó bạn bấm “Ctrl +J“, tại link tải active mà bạn vừa tải về đã bị xóa, bạn hãy click vào đó để trình duyệt tải lại một lần nữa và lần này là sẽ thành công.

BQT: VuTienBlog

Subscribe
Thông báo
guest
6 Comments
Phản hồi nội tuyến
Xem tất cả các ý kiến
Lê Phước Dũng
Lê Phước Dũng
5 year ago

dạ em muốn có số điện thoại của a để tiện trao đổi, số điện thoại em 0981061517

Nguyễn Trường Đăng
Nguyễn Trường Đăng
5 year ago

anh cho e hoi: Dùng Gui viết ứng dụng giải pt bậc 2 và vẽ đồ thị với a,b,c được nhập từ giao diện gui. Thì làm như thế nào anh?

khải
khải
4 year ago

dạ anh cho em hỏi. em lỡ tay tắt giao diện guide đi rồi giờ em muốn bật lại thì làm như thế nào anh.

Bóng tối
Bóng tối
Trả lời  khải
4 year ago

Bạn mở Matlab, gõ “guide” vào command window, chọn tab “Open…” rồi chọn cái muốn mở.

Trường
Trường
4 year ago

anh Tiến cho em hỏi ạ, e có vài bức ảnh được chụp cùng nhau( gần giống y nhau), giờ em muốn dùng matlab để gộp lại các bức đấy để có 1 bức tốt nhất thì làm như thế nào anh?

Người dùng giấu tên
Người dùng giấu tên
1 year ago

bài viết hay, nhưng sai chính tả nhiều: “xử lý” chứ không phải “sử lý”, “chương trình” chứ không phải “trương trình”.
Khi đăng bài nào đó lên thì bạn nên quan tâm đến các lỗi cơ bản một chút!!

Top
11
0
Bác có thắc mắc? Nhấn vào đây để bình luận!x
()
x