• Регистрация
foxic3532
foxic35320.00
н/д
  • Написать
  • Подписаться

инициализация_независимого_handles_в_гуи_и _передача_как_глобальной_переменной

Другое 
08.08.2019

Добрый день , Форумчане.
Нужен совет , вот в каком вопросе .
описание общей ситуации :
я сделал гуи :

1) с несколькими радиобатонами (выбирая один - остальные неактивны ; выключая становится активными на выбор все остальные радиобатоны и такое поведение у каждого радиобатона ) ;
2) к каждому радиобатону подключен набор радиаботонов и эдит_текстбоксов ( в виде всплывающего списка );

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

мне бы хотелось узнать , как сделать handles_А [ (не привязанный к каждому радиобатону ) через команду guihandles ] , который будет принимать только числовое значение, меняться в 2) и передаваться в кнопку - обработчик (радиобатон) , другими словами handles_A принимает значения внутри гуи-обьекта , потом передается в следующий гуи-обьект (так несколько раз) , а потом уже передается на обработчик . Обработчик , в зависимости от значения handles_A , выдает определенные сообщения / либо отправляет данные из гуи в расчет (в общем, handles_A - аналог глобальной переменной)

Пример , как должен работать handles_A :
если выбираем 1-ый радиобатон , handles_А становится = 11 ( при выключении handles_А=10 ) , последовательно вводим информацию в список для 1-ого радиобатона , handles_А принимает значения : 5, 7, 9 ( любое из этих чисел должно передаваться в обработчик , если в обработчик передается 9 , то обработчик отправляет всю информацию из гуи в расчет ). если выбираем 2-ой радиобатон handles_А становится =21 ( при выключении handles_А=20 ) , последовательно вводим информацию в список для 2-ого радиобатона , handles_А принимает значения : 6, 8, 12 и так для каждого радиобатона .

Теги

      08.08.2019

      Ответы

      • Павел Рословец
        Павел Рословец +388.04
        12.08.2019 12:09

        Добрый день.

        Если вы сделали приложение в GUIDE или в App Designer, то ваше приложение является классом, поэтому правильно будет создать в нем свойство (property) с именем handles_А. Это свойство будет доступно во всех методах (функциях) вашего приложения.

        Если интерфейс вы рисуете из обычной MATLAB-функции без создания класса, то можете записывать значение handles_A в свойство UserData любого графического объекта (например, фигуры), а затем оттуда же его считывать.

        Ну и наконец можно создать глобальную (global) переменную, но так лучше не делать, это сделает ваш код трудно читаемым и усложнит отладку.