Как я могу определить каждый случай списка выбора в удобном (GUI) и поставить функцию IF для каждого? - PullRequest
0 голосов
/ 09 октября 2018

Я сделал Matlab GUI, у которого есть два uitables, у одного из них есть формат списка выбора в его ячейках, но я не знаю, как определить каждый случай списка выбора и поставить функцию IF для каждого.Другими словами, я хочу применить числа ко второму пользователю из другого интерфейса с зависимостью от случаев в списке выбора первого пользователя.

1 Ответ

0 голосов
/ 09 октября 2018

Я предполагаю, что вы используете guide для управления вашим графическим интерфейсом, и что вы уже создали uitable со столбцом в формате списка выбора и что для свойства ColumnEditable установлено значение true.Это тот случай?

Затем создайте функцию CellEditCallback, щелкнув правой кнопкой мыши на uitable в окне руководства и выберите «Просмотр обратных вызовов» -> «CellEditCallback».Это создаст функцию обратного вызова, если она еще не существует.

Автоматически созданная функция обратного вызова может выглядеть следующим образом:

% --- Executes when entered data in editable cell(s) in uitable1.
function uitable1_CellEditCallback(hObject, eventdata, handles)
% hObject    handle to uitable1 (see GCBO)
% eventdata  structure with the following fields (see MATLAB.UI.CONTROL.TABLE)
%   Indices: row and column indices of the cell(s) edited
%   PreviousData: previous data for the cell(s) edited
%   EditData: string(s) entered by the user
%   NewData: EditData or its converted form set on the Data property. Empty if Data was not changed
%   Error: error string when failed to convert EditData to appropriate value for Data
% handles    structure with handles and user data (see GUIDATA)

В этом случае тег uitable это uitable1.Если ваш uitable имеет другой тег, имя функции будет соответствовать этому тегу.

Теперь запишите свой блок if в эту функцию обратного вызова.Например, если список выбора, который вы хотите запросить, находится в первой строке и первом столбце вашего uitable, и вы хотите проверить, является ли выбранный текст окна принятия решения «blabla», тогда ваш код будет выглядеть так:это:

if strcmp(handles.uitable1.Data{1,1}, 'blabla')
    % put here the code that you want to execute if the user selects 'blabla'
end

Надеюсь, это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...