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 Gui Matlab – Hướng Dẫn Sử Dụng Slider Trong GUI Matlab

Lập Trình Gui Matlab – Hướng Dẫn Sử Dụng Slider Trong GUI Matlab

huong-dan-su-dung-slider-trong-lap-trinh-matlab

Cách Sử Dụng Slider Trong GUI Matlab 2016a

| Slider là gì?

huong-dan-su-dung-slider-trong-lap-trinh-matlab
huong-dan-su-dung-slider-trong-lap-trinh-matlab

Slider là một đối tượng được tích hợp trong lập trình giao diện GUI của phần mền Matlab. Slider cho phép bạn sử dụng chuột để kéo thanh scoll của Slider ở một mức giá trị nào đó mà bạn đã quy định trước. Bạn có thể nhìn hình dưới là sẽ hiểu.

Trong bài viết này VuTienIT cùng bạn học cách tạo cũng như cách sử dụng viết chức năng cho đối tượng này. Bạn có thể sử dụng công cụ này để áp dụng vào từng trường hợp mà bài toán của bạn đưa ra.

huong-dan-su-dung-slider-trong-gui-matlab
huong-dan-su-dung-slider-trong-gui-matlab

Về chức năng thì ta sẽ hiện thị các giá trị mà ta đã cho trước ra, hoặc bạn có thể nhập giá trị vào Edittext và kéo theo đó là thanh Scroll sẽ thay đổi theo.

Oke chúng ta cùng bắt đầu thôi.

| Cách tạo Slider trong GUI

Thì như thường lệ thì ta sẽ tiến hành tạo 1 giao diện và kéo Slider vào để sử dụng. Bạn có thể tạo giao diện như thế nào cũng được. Quan trọng bạn chú ý đến Tag của nó. Bạn đặt tên như thế nào cho dễ gọi trong Code là được.

Giả sử chúng ta tạo được một giao diện như ở hình dưới đây:

slider-matlab
slider-matlab

Bạn chú ý VuTienIT đánh ghi là Min Max bạn có thể gán giá trị nó vị dụ là

Min = 0;

Max = 0;

Để thiết lập được giá trị cho nó thì bạn đúp vào Slider ở giao diện bạn để ý các giá trị sau

sliderstep
sliderstep

Bạn chú ý thiết lập giá trị ở vần SliderStep sao cho phù hợp. Khi bạn nhấn vào mũi tên ở Max và Min thì nó sẽ dịch chuyển bao nhiêu tùy vào bạn đặt giá trị ở đây VuTienIT để là 0.1. Nghĩa là mỗi lần dịch chuyển thì nó dịch 0.1

| Cách Sử dụng Slider trong GUI

Khi bạn đã thiết lập giá trị cũng như tạo giao diện mà thấy oke rồi thì ta tiến hành viết code. Như đã nói ở trên thì nhiệm vụ của chúng ta làm sao để Slider và Edittext trao đổi dữ liệu cho nhau được.

Bạn hãy nhấn chuột phải vào Slider => View Callbacks => Callback để viết chức năng cho nó.

1. Khi Kéo Thanh Scroll thì giá trị hiện ở Edittext 

Oke. VuTienIT sẽ sử dụng hàm quen thuộc đó là get() để tiến hành lấy dữ liệu.

slider1_callback
slider1_callback
giatri = get(handles.slider1, 'value');

Lúc này giatri sẽ nhận về là 1 kiểu số.

set(handles.giatri, 'string', num2tr(giatri));

Trong đó:

  • handles.giatri: giatri chính là Tag của Edittext
  • num2tr: chuyển đổi kiểu số sang chuỗi của biến giatri

Khi bạn chạy trương trình nên thì bạn sẽ nhận được kết quả như hình dưới. Bạn nhấn vào mũi tên hay kéo thanh scroll thì giá trị ở Edittext hiện thị theo. Trông rất là đẹp đúng không?

lap-trinh-giao-dien-gui
lap-trinh-giao-dien-gui

Nếu bạn nào tinh ý thì bạn có thể thấy. Khi chạy trương trình nên thì giá trị mặc định chưa được hiện thị nên ở ổ Edittext cho chúng ta. Vậy làm sao để cho nó hiện nên? Ở bài viết Làm Quen Giao Diện GUI Trong MatlabVuTienIT có nhắc đến bạn một Function có tên là tenFileM_OpeningFcn nằm ở tập tin .m bạn đang viết code rồi. Function có nhiệm vụ là khi bạn viết code ở đây thì khi chạy trương trình nên nó sẽ thực thi đoạn trong đấy đầu tiên.

Chính vì như vậy thì bạn hãy tìm đến Function đó và viết bên dưới đó dòng Code bên trên. Thì khi chạy trương trình nó sẽ thực thi các câu lệnh đó đầu tiên đồng nghĩa với việc giá trị mặc định sẽ được hiện nên cho bạn.

giatri = get(handles.slider1, 'value');

set(handles.giatri, 'string', num2tr(giatri));
openingfcn-matlab
openingfcn-matlab

Như vậy là bạn đã hoàn thành công đoạn thứ nhất rồi đó.

2. Nhập giá trị ở Edittext thì thanh Scroll chạy theo

Bậy giờ ta sẽ xử lý trường hợp này. Bạn hãy nhấn chuột phải vào Edittext => View Callbacks => Callback để viết sự kiện khi nhấn Enter cho nó.

giatrimoi = get(handles.giatri, 'string');

Câu lệnh trên có nghĩa là ta sẽ lấy giá trị ở Tag giatri của Edittext và gán vào giatrimoi

giatrimoi = str2num(giatrimoi);
if (giatrimoi < 10) & (giatrimoi >=0)
   set(handles.slider1, 'value', num2tr(giatrimoi ));
else
   msgbox('Nhap gia tri trong khoang tu 0-10');
end
giatri_callback
giatri_callback

Khi có được giá trị đó rồi thì ta gán vào slider1 bằng câu lệnh trên.

Bạn cần đặt điều kiện để bắt sự kiện người ta nhập vào trong khoảng giá trị từ 0 đến 10. Vì trên ta sét là Max = 10 cũng như Min = 0 rồi mà. Nếu ta không sét điều kiện cho nó mà khi người nhập giá trị vào ví dụ là 11 chẳng hạn thì lập tức slider sẽ bị biến mất.

Như vậy là xong rồi đó!

Tổng Kết:

Trên đây VuTienIT đã hướng dẫn bạn cách sử dụng đối tượng Slider có trong Matlab. Bạn có thể sử dụng cho nhiều trường hợp khác nhau. Trong bài viết sau VuTienIT sẽ hướng dẫn bạn cách áp dụng Slider và đồ thị vào nhau. Bạn nên tìm hiểu lại bài viết vẽ đồ thị trong Matlab. Bởi vì trong bài viết sau thì những giao diện đó sẽ không hướng dẫn lại để tránh lãng phí thời gian.

 

0 0 bỏ phiế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
0 Comments
Phản hồi nội tuyến
Xem tất cả các ý kiến
Top
11
0
Bác có thắc mắc? Nhấn vào đây để bình luận!x
()
x