2013-01-03 29 views
6

Tôi đang cố gắng triển khai GUI đơn giản chỉ bao gồm một nút bấm. Tôi muốn nó bắt đầu bằng việc bắt đầu với tư cách là một nhãn hiệu. Sau đó, nhấn nó thay đổi thành STOP. Khi người dùng nhấp vào nút lần đầu tiên, hàm gọi lại đặt boolean thành true và thay đổi nhãn. Khi Button được nhấp lần thứ hai, boolean được thay đổi thành false và GUI đóng lại.Nút bấm đơn giản với việc thay đổi văn bản trong MATLAB

Tôi không thể tìm thấy bất kỳ điều gì về cách tạo giao diện đơn giản như thế này trong MATLAB. công cụ GUIDE không có ý nghĩa với tôi và dường như tạo ra rất nhiều mã vô dụng. Các nút Matlab là các trình bao bọc cho các nút jButtons như được thấy here

Trả lời

4

HƯỚNG DẪN khá đơn giản - công cụ tự động tạo ra các nhánh cho tất cả các cuộc gọi lại, để tất cả còn lại là điền vào mã sẽ được thực hiện bất cứ khi nào cuộc gọi chạy. Nếu bạn muốn tạo GUI theo lập trình, bạn có thể tạo nút bạn muốn như sau:

%# create GUI figure - could set plenty of options here, of course 
guiFig = figure; 

%# create callback that stores the state in UserData, and picks from 
%# one of two choices 
choices = {'start','stop'}; 
cbFunc = @(hObject,eventdata)set(hObject,'UserData',~get(hObject,'UserData'),... 
      'string',choices{1+get(hObject,'UserData')}); 

%# create the button 
uicontrol('parent',guiFig,'style','pushbutton',... 
      'string','start','callback',cbFunc,'UserData',true,... 
      'units','normalized','position',[0.4 0.4 0.2 0.2]) 
+0

Dòng cuối cùng cho nút này chỉ là mỹ phẩm, nhưng cung cấp cho bạn ý tưởng về cách tự động định vị uicontrols. – Jonas

Các vấn đề liên quan