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 Table Trong Gui Matlab

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

huong dan su dung table trong gui matlab

Sử Dụng Table Bảng Trong Lập Trình Giao Diện Gui Matlab

Như bạn đã biết thì Table giúp bạn hiện thị thông tin nào đó theo dạng hàng và cột. Thông thường đối với ngôn ngữ lập trình nào thì cũng có hỗ trợ bảng, Matlab cũng không ngoại lệ. Nó cho phép bạn hiện thị thông tin theo kiểu chuỗi string, số hay Checkbox, Pop-up menu,…

huong dan su dung table trong gui matlab
huong dan su dung table trong gui matlab

Trong bài học hôm nay. VuTienIT cùng bạn học cách tạo bảng, chèn dữ liệu cũng như hiệu chỉnh giao diện của bảng qua một số câu lệnh cơ bản.. Bài học này sẽ là tiền đề để bài sau chúng ta học cách đọc file exel trong GUI.

| Tạo bảng trong Command Window

1. Tạo ra một bảng dữ liệu

Để tạo ra một bảng mới thì bạn làm như sau. Tại cửa sổ Command Window bạn tiến hành gõ lệnh dưới đây.

t = uitable;

Trong đó:

  • uitable Là câu lệnh tạo bảng trống
  • t là giá trị hiện thời nhận từ uitable

Thì lập tức một giao diện mới hiện ra. Nếu bạn đã có sẵn Figure rồi thì bảng sẽ được hiện ra ở Figure đó. Ngược lại nếu chưa có thì Matlab tự động tạo ra.

tao bang table trong gui matlab
tao bang table trong gui matlab

2. Hiện thị dữ liệu ra bảng

Ta sẽ sử dụng lệnh sau:

set(t,'Data', magic(15))

Trong đó:

  • set là gán giá trị
  • t là tên của table mà ta đã lưu ở câu lệnh bên trên
  • Data là kiểu dữ liệu
  • magic(15) Chính là dữ liệu mà bạn muốn thêm vào. Ở đây VuTienIT sử dụng câu lệnh magic (Ma trận) tự động sinh ra dữ liệu (15 hàng và 15 cột). Còn nếu bạn đã có dữ liệu rồi thì bạn thay lệnh magic này thành dữ liệu của bạn mà muốn thêm vào.
hien thi du lieu ra bang table matlab
hien thi du lieu ra bang table matlab

3. Thay đổi kích chiều rộng của mỗi cột

Bạn sử dụng lệnh dưới đây để thay đổi tăng giảm kích thước chiều rộng của mỗi một cột

set(t,'ColumnWidth',{25})

Trong đó:

  • ColumnWidth: Thay đổi chiều rộng của 1 cột
  • 25 là giá trị bạn muốn thay đổi sao cho bạn cảm thấy hợp lý (đơn vị là px)

4. Hiện thị tên hàng tên cột và vị trí của bảng trong Figure

Như bạn gõ 3 lệnh cơ bản trên thì bạn thấy chưa thay đổi được vị trí nó hiện thị théo ý mình đúng không? Cũng như  tên cột và tên hàng thì cũng chưa có. Vậy thì làm sao giải quyết được vấn đề này? Thì cũng khá là đơn giản. Bạn thực hiện các câu lệnh dưới đây và tùy biến giá trị mà bạn mong muốn là được.

f = figure('Position',[200 200 400 150]);
dat = rand(3);
cnames = {'X-Data','Y-Data','Z-Data'};
rnames = {'First','Second','Third'};
t = uitable('Parent',f,'Data',dat,'ColumnName',cnames,...
'RowName',rnames,'Position',[20 20 360 100]);

Trong đó:

  • figure Tạo ra 1 figure
  • Position là vị trí muốn hiện thị
  • rand(3) Là 3 hàng 3 cột
  • cnames là biến chứa tên của 3 cột
  • rnames là biến chứa tên của 3 hàng
  • uitable Như đã nói ở trên đó là tạo ra 1 bảng

Và bạn sẽ được kết quả như sau:

huong dan tao bang trong lap trinh gui matlab
huong dan tao bang trong lap trinh gui matlab

5. Hiện thị dữ liệu kiểu checkbox, Pop-up menu

Ở các ví dụ trên thì chúng ta đã học được cách đọc, hiện thị, hiệu chỉnh giao diện của một bảng rồi. Nếu bạn để ý thì dữ liệu của chúng ta hiện thị chỉ là một kiểu chuỗi đúng không nào? Vậy làm sao để hiện thị dạng checkbox, Pop-up menu trong bảng?

Thì Matlab hay nói chính xác hơn trong GUI thì cho phép bạn hiện thị dữ liệu đó bằng các lệnh dưới đây

1. Tạo bảng

f = figure('Position',[200 200 400 150]);
dat = rand(3);
cnames = {'X-Data','Y-Data','Z-Data'};
rnames = {'First','Second','Third'};
t = uitable('Parent',f,'Data',dat,'ColumnName',cnames,...
'RowName',rnames,'Position',[20 20 360 100]);
f = figure('Position',[100 100 400 150]);

2. Tao CheckBox (0 và 1)

dat = {6.125, 456.3457, true, 'Fixed';...
       6.75, 510.2342, false, 'Adjustable';...
       7, 658.2, false, 'Fixed';};

3. Tao Pop-up menu (Lựa chọn)

columnname = {'Rate', 'Amount', 'Available', 'Fixed/Adj'};
columnformat = {'numeric', 'bank', 'logical', {'Fixed' 'Adjustable'}};
columneditable = [false false true true];

4. Thêm kiểu dữ liệu vào bảng

t = uitable('Units','normalized','Position',...
            [0.1 0.1 0.9 0.9], 'Data', dat,...
            'ColumnName', columnname,...
            'ColumnFormat', columnformat,...
            'ColumnEditable', columneditable,...
            'RowName',[]);

Trong các lệnh trên thì một số lệnh VuTienIT đã giải thích bên trên rồi cho nên xin phép không được nhắc lại. Các giá trị bạn có thể thay đổi theo ý của bạn.

Các CheckBox hay Pop-up menu thì cho phép người dùng có thể thay đổi giá trị mà họ muốn. Không giống như ở cột 1 và cột 2 là fix cứng giá trị.

Cuối cùng bạn được giao diện giống hình dưới

table gui matlab
table gui matlab

| Tạo bảng trong GUI

Ở trên thì chúng ta đã học cách tạo bảng trong cửa sổ Command Window rồi. Vậy ở trong GUI thì sao? Thì Matlab cũng đã hỗ trợ cho bạn sẵn rồi. Bạn chỉ cần kéo thả vào cửa sổ giao diện mà thôi.

Bạn hãy di chuột vào đối tượng Table và kéo vào giao diện. Mặc định nó sẽ có giao diện trống. Để thay đổi thêm giá trị vào bảng thì bạn hãy nhấn cuột phải vào bảng ở giao diện và chọn vào dòng Table Property Editor

table gui
table gui

Lập tức cửa sổ mới hiện nên.

1. Thêm sửa,… cột (Columns)

Để thêm cột thì bạn nhấn vào Columns (Góc trái) và nhấn vào Show names entered below as the column headers sau đó bạn có thể sử dụng Insert, copy, delete, up down, edit để thêm sửa thay đổi vị trí của cột nào đó mà bạn muốn.

  1. Name: Là tên hiện thị của  một cột ở giao diện
  2. Auto Width: Check vào thị tự động phần mền thay đổi kích thước cho phù hợp
  3. Width (px): Nếu bạn không muốn tự động điều chỉnh kích thước thì bạn có thể nhập giá trị mong muốn của bạn vào.
  4. Editable: Có cho phép người dùng sửa cột đó hay không
  5. Format: Kiểu hiện thị dữ liệu đó là string, int, checkbox, Popup Menu…
Table Property Editor
Table Property Editor

2. Thêm sửa,… dòng (Rows)

Thì cũng giống Columns thôi bạn thêm sửa xóa theo ý của mình.

rows table gui matlab
rows table gui matlab

Ở data và color thì là 2 tùy chọn cho bạn tùy biến thêm cho bảng của mình mà thôi. Bạn có thể tự mầy mò tìm hiểu thêm về 2 phần này.

Tổng Kết:

Như vậy VuTienIT đã hướng dẫn bạn cách sử dụng table trong command windows cũng như trong GUI của phần mền Mablab. VuTienIT đã nói trên bài học về bảng này sẽ là tiền để để chúng ta học sang bài  Đọc file excel bởi vậy bạn hãy học kỹ phần này nhé! Chúc bạn thành công!

2.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
1 Comment
Phản hồi nội tuyến
Xem tất cả các ý kiến
Nguyễn huy phước
Nguyễn huy phước
1 year ago

sao không xóa dòng trong Table Property Editor được bạn ơi

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