Tôi có GUI sử dụng lựa chọn từ trình đơn bật lên trong một cuộc gọi lại khác. Có cách nào để trả về giá trị đã chọn của popupmenu chỉ trong một dòng mà không tạo bất kỳ biến tạm thời nào không? Tôi đã thử một số giải pháp, nhưng tôi đã chỉ được quản lý hai dòng với một biến tạm thời:Trả lại lựa chọn popupmenu trong MATLAB bằng một dòng mã
Ba dòng:
list=get(handles.popupmenu1,'String');
val=get(handles.popupmenu1,'Value');
str=list{val};
Hai dòng:
temp=get(handles.popupmenu1,{'String','Value'});
str=temp{1}{temp{2}};
bất cứ ai có thể cạo nó xuống một?
PS, Đây là một menu động, vì vậy tôi không thể chỉ sử dụng get(handles.popupmenu1,'Value')
và bỏ qua thành phần chuỗi hoàn toàn.
Tôi không chắc chắn tại sao bạn muốn sho rten nó vào một dòng, trừ khi bạn chỉ đơn giản là tò mò làm thế nào nó có thể được thực hiện. Các tùy chọn ba dòng là rõ ràng nhất và dễ hiểu nhất, và là một trong những tôi sẽ sử dụng trong bất kỳ mã tôi đã viết. – gnovice
@gnovice Tôi chủ yếu tự hỏi nếu nó có thể được thực hiện. Có lẽ một sự pha trộn của sự tò mò và phiền toái tại MATLAB vì không có một tính năng để làm điều đó với một cuộc gọi nhận được. – Doresoom