Lập Trình Gui Matlab – Visible Ẩn Hiện Các Đối Tượng Trong Gui Matlab

Visible Ẩn Hiện Các Đối Tượng Trong Gui Matlab Bằng Visible

Visible On Visible Off là một thuộc tính sẵn có trên các đối tượng trong lập trình Giao Diện GUI trên phần mền Matlab. Trong bài viếc trước chúng ta đã học đến thuộc tính Enable rồi. Cũng giống thuộc tính đó thì Visible cũng có 2 trạng thái là On (Hiện) và Off (Ẩn).

Visible on off trong gui matlab
Visible on off trong gui matlab

Visible và Enable có gì khác nhau?

Về bản chất thì cả 2 thuộc tính này nếu để off thì sẽ người dùng sẽ không để thao tác gì được trên thuộc tính đó cả. Có một điểm khác nhau rõ ràng nhất đó là. Thuộc tính Enable thì nó vẫn hiện thị trên giao diện nhưng mà nó mờ đối tượng đó chuột sẽ không thao tác được. Còn thuộc tính Visible thì nó sẽ mất hẳn luôn không hiển thị. Bao giờ bạn viết code bật lại đối tượng đó thì no mới hiện nên để người dùng thao tác được.

Visible sử dụng như thế nào?

Mặc định trên tất cả các đối tượng thì thuộc tính này sẽ được bật (On). Bạn có thể Off nó thông qua giao diện hoặc viết code. Ứng dụng của nó và cách sử dụng như thế nào thì tôi và bạn cùng đi qua một ví dụ dưới đây thì bạn sẽ hiểu  nó dùng và hoạt động thế nào?

Giả sử dụng tôi có một giao diện dưới đây. Về các tạo như thế nào để tạo giao diện thì tôi xin không được nhắc lại. Bởi vì bạn học đến phần này thì chắc hẳn nó không quá khó phải không nào?

Visible on off gui matlab
Visible on off gui matlab

Khi chạy trương trình nên thì bạn sẽ được giao diện như thế này

Visible an hien cac doi tuong trong gui matlab
Visible an hien cac doi tuong trong gui matlab

Bạn có thấy không? Giao diện chưa chạy khác và giao diện chạy nên đã khác? Nhóm Tham So và đối tượng Exes1 đã bị biến mất.

Nhiệm vụ của ta trong ví dụ này sẽ như sau: Khi trương trình chạy nên mặc định Nhóm Tham So và Exes1 sẽ biến mất (Ẩn đi). Khi nào nhấn vào Radio Button thì sẽ được hiện nên cho phép bạn thay đổi các thông số đó. Và khi nhấn vào Ve Do Thi thì đồ thị sẽ được hiện nên.

Vậy làm sao ta sử lý được ví dụ này? Chúng ta cùng bắt tay vào làm nhé.

Về giao diện thì bạn hãy tạo ra các đối tượng đầy đủ hết. Đối với các đối tượng bạn muốn ẩn đi thì ta có 2 cách đó là:

Nếu muốn làm trên giao diện:

Bạn nhấn chuột phải vào đối tượng đó chọn Property Inspector tìm đến dòng Visible chọn Off

visible gui matlab
visible gui matlab

Nếu muốn làm trên file .m

Ở ví dụ này thì các đối tượng này sẽ được ẩn đi khi trương trình được chạy nên thì có nghĩa là ta cần phải viết trên function OpeningFcn. Như tôi đã nói ở các bài viết trước thì hàm này mặc định sẽ có trong file .m và nó sẽ được gọi đầu tiên khi trương trình được chạy nên. Cho nên ta sẽ viết các đối tượng cần ẩn đi vào hàm này

set(handles.hieuchinh,'value',0);
set(handles.axes1,'visible','off');
set(handles.pn1,'visible','off');
set(handles.v0,'visible','off');
set(handles.tf,'visible','off');
set(handles.h0,'visible','off');
set(handles.hesonay,'visible','off');
set(handles.text1,'visible','off');
set(handles.text2,'visible','off');
set(handles.text3,'visible','off');
set(handles.text4,'visible','off');

Trong đó:

  • handles.axes1 là truy cập vào đối tượng này. (Các đoạn code khác cũng tượng tự)
  • visible là thuộc tính
  • off là ẩn

Bây giờ ta sẽ sử lý đến các đối tượng khác

Đối tượng Radio Button có string Hieu Chinh

value = get(hObject,'value');
if value ==1
   set(handles.pn1,'visible','on');
   set(handles.v0,'visible','on');
   set(handles.tf,'visible','on');
   set(handles.h0,'visible','on');
   set(handles.hesonay,'visible','on');
   set(handles.text1,'visible','on');
   set(handles.text2,'visible','on');
   set(handles.text3,'visible','on');
   set(handles.text4,'visible','on');
else
   set(handles.pn1,'visible','off');
   set(handles.v0,'visible','off');
   set(handles.tf,'visible','off');
   set(handles.h0,'visible','off');
   set(handles.text1,'visible','off');
   set(handles.text2,'visible','off');
   set(handles.text3,'visible','off');
   set(handles.text4,'visible','off');
end

Trong đó:

  • hObject truy cập vào đối tượng Radio Button Hieu Chinh. Nó tượng đương với câu lệnh handles.hieuchinh. Bởi vì là radio nên nó sẽ có kết quả 1 (Click vào) và 0 (Bỏ click) ta sẽ gán kết quả về biến value
  • Nếu kết quả tra về 1 thì các đối tượng ta đã ẩn sẽ bật nên thành on. Ngược lại nếu kết quả là 0 thì các đối tượng đó sẽ ẩn.

Đối tượng Push Button có string Ve Do Thi

value = get(handles.hieuchinh,'value');

Trong đó: Lấy giá trị của đối tượng có Tag hieuchinh có string là Hieu Chinh

if value ==1
   h0 = get(handles.h0,'string');
   h0 = str2num(h0);
   v0 = get(handles.v0,'string');
   v0 = str2num(v0);
   hesonay = get(handles.hesonay,'string');
   chiso = get(handles.hesonay,'value');
   damping = hesonay{chiso};
   damping = str2num(damping);
   tf = get(handles.tf,'string');
   tf = str2num(tf);
   v = v0;
else
   h0 = 10;
   v = 0;
   t0 = 0;
   dt = 1/1000;
   tf = sqrt(h0)*2.5;
   g=-9.81;
   damping = 0.4;
end

Đoạn code sử lý vẽ đồ thị

t0 = 0;
dt = 1/1000;
g=-9.81;
times = dt:dt:tf;
heights = zeros(size(times));
for idx = 1:length(times)
   newh = h0 + (v+g*dt/2)*dt;
   v = v + g*dt;
   if newh < 0
      newh = 0;
      v = -v*sqrt(damping);
   end
   heights(idx) = newh;
   h0 = newh;
end
plot(times,heights);
xlabel('Time [Secs]')
ylabel('Height [meters]')

Đây là bài toán vẽ đồ thị về đường đi của một quả bóng chẳn hạn khi ta ném từ trên xuống thì đường đi sẽ như thế nào. Cho nên bài toán sẽ như vậy. Tôi không thể nào giải thích được hết tất cả các đoạn code ở trên được cho bạn được bời vì quá dài. Chính vì điều này tôi sẽ để link tải code của bài toán này cho bạn tham khảo.

Mấu chốt của bài học hôm nay đó la ta học cách sử dụng thuộc tính Visible thông qua dòng lệnh dưới đây

set(handles.doiTuongCanAnHien, 'visible', 'on');

Tùy bài toán cụ thể thì bạn sẽ áp dụng nó như thế nào thôi.

Download Code

Tổng Kết:

Trên đây chúng ta đã học các sử dụng Visible cho các đối tượng của ta cũng như biết được nó áp dụng dùng để làm gì. Nếu bạn có thắc mắc gì thì có thể đặt câu hỏi phía dưới VuTienIT xin được trả lời. Chúc bạn thành công!

Huong dan download file tai VuTienIT.Com
Hướng dẫn tải File tại VuTienIT.Com
Thủ Thuật Windows 7, Windows 8.1, Windows 10

Tác Giả: VuTienIT

Website: Thủ Thuật Windows

Mô Tả:Tôi ưa thích khám phá tìm hiểu các vấn đề về liên quan tới điện thoại, máy tính. Và tôi cũng ưa thích lập trình Website. Bạn có thể tìm thấy tôi thông qua Facebook cũng như xem các Video tôi hướng dẫn về Thủ Thuật Computer. Bạn có thắc mắc gì về bài viết xin để lại bình luận phía dưới Tôi xin được giải đáp cho bạn!

Lưu ý khi bạn bình luận tại VuTienIT.Com

Bạn hãy sử dụng địa chỉ Email thật và tên thật để VuTienIT có thể xưng hô và trả lời bình luận qua Email.
Bạn hãy bình luận bằng Tiếng Việt và có dấu.
Nếu bạn muốn tìm kiếm phần mền nào đó các bạn có thể nhập tên phần mền vào ô tìm kiếm bên trên đầu.
Nếu Link tải File bị hỏng bạn hãy bình luận bên dưới VuTienIT sẽ cập nhật lại Link tải cho bạn.
Nếu bạn thấy thích bài viết này thì bạn hãy Share bài viết để VuTienIT có nhiều bài viết hay hơn dành cho bạn!
VuTienIT chúc bạn gặp nhiều may mắn thành công trong cuộc sống.
 

Hãy trở thành người đầu tiên bình luận!

Thông báo
avatar
250

wpDiscuz