Сообщение об ошибке всплывающего меню Matlab gui

Я создал графический интерфейс, и в нем есть всплывающее меню. Я хочу знать, как я могу создать диалоговое окно с ошибкой, когда всплывающее меню не открыто/не используется пользователем. Для поля редактирования я использую «isempty», но это не работает для всплывающего меню. если пользователь не открывает всплывающее меню и не выбирает какой-либо выбор из этого всплывающего меню, я хочу, чтобы моя программа отображала сообщение об ошибке, чтобы напомнить пользователю о выборе выбора.

Спасибо, и я с нетерпением жду вашего решения


person user2262401    schedule 09.04.2013    source источник
comment
Вы спрашиваете, как перехватить ошибку или как сгенерировать сообщение об ошибке? Если это последнее, используйте errordlg.   -  person Eitan T    schedule 09.04.2013
comment
если пользователь не открывает всплывающее меню и не выбирает какой-либо выбор из этого всплывающего меню, я хочу, чтобы моя программа отображала сообщение об ошибке, чтобы напомнить пользователю о выборе выбора.   -  person user2262401    schedule 09.04.2013
comment
Вы не ответили на мой вопрос. Вы спрашиваете, как проверить, не открыл ли пользователь всплывающее меню, или как отобразить диалоговое окно с ошибкой?   -  person Eitan T    schedule 09.04.2013
comment
Как отобразить диалоговое окно с ошибкой, если пользователь не открывал всплывающее меню.   -  person user2262401    schedule 09.04.2013
comment
В третий раз неясно, что вы спрашиваете, потому что это включает в себя выполнение двух отдельных шагов: 1. Обнаружить событие, когда пользователь не открыл ваше всплывающее меню, и 2. Если такое событие обнаружено, показать ошибку чат. Что ты не умеешь делать? Это шаг 1, шаг 2 или оба?   -  person Eitan T    schedule 09.04.2013
comment
Шаг 1. Я хочу обнаружить событие, когда пользователь не открыл мое всплывающее меню. я надеюсь, объяснить вам правильно.   -  person user2262401    schedule 09.04.2013


Ответы (1)


function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
    val=get(handles.popupmenu1,'Value');
        switch val
                case 1, errordlg('invalid option');
                case 2, disp('option 1 selected'); %SEE COMMAND WINDOW
                case 3, disp('option 2 selected'); %SEE COMMAND WINDOW
        end

(чтобы было понятнее) установите для первой строки всплывающего меню что-то вроде «выбрать вариант»; эта строка имеет значение 1 и отображается во всплывающем окне при запуске графического интерфейса. если пользователь не изменяет выбор всплывающего окна или повторно выбирает его, возникает ошибка.

person Eugenio    schedule 09.04.2013
comment
если вы создадите новый пустой графический интерфейс и добавите всплывающее меню и кнопку, введите 3 строки в свойстве всплывающей строки (используя инспектор свойств), сохраните графический интерфейс и сделайте обратный вызов кнопки, как тот, который я разместил, он будет работать .. пусть я знаю - person Eugenio; 09.04.2013
comment
я пробую этот код, но у меня та же проблема, потому что в случае 1 у меня есть выбор, который мне нужен. Ваш код, если пользователь не открывает всплывающее меню, отображает сообщение об ошибке, но то же самое сообщение отображается, когда я выбираю первый выбор в случае 1. Моя программа имеет 50 всплывающих меню, и для решения проблемы необходимо изменить все случай 1 на все всплывающее меню. Может быть, нет другого решения. Спасибо за ваше время!!!! - person user2262401; 09.04.2013
comment
@user2262401 user2262401 Если вы считаете случай 1 предложением, объясняющим, что позволяет делать всплывающее окно, то вы должны согласиться с тем, что если выбран случай 1, должна возникнуть ошибка, что равносильно случаю, когда пользователь не касается всплывающее окно, ваш первый важный случай — это случай 2, ваш реальный первый вариант. Вы разберетесь, неважно. Надеюсь, вы найдете свое решение. - person Eugenio; 10.04.2013