#matlab #simulink #programmatically
#matlab #simulink #программно
Вопрос:
При двойном нажатии на блок Simulink открывается соответствующее диалоговое окно «Параметры блока». Ради автоматизации тех же тестов GUI я хочу:
- Определите, действительно ли диалоговое окно открывается при нажатии двойного щелчка.
- Доступ к некоторым данным из самого GUI (не используя get_param и set_param).
До сих пор я открывал диалоговое окно с помощью open_system и реализовал try — catch для проверки на наличие ошибок. Однако я не смог найти дескриптор открытого диалогового окна, поскольку findall(0) и findobj(0) возвращают только корневой объект
findall(0)
ans =
Графический корень со свойствами:
CurrentFigure: [0x0 GraphicsPlaceholder] ScreenPixelsPerInch: 96 ScreenSize: [1 1 1920 1080] MonitorPositions: [1 1 1920 1080] Units: 'pixels'
Показать все свойства
и allchild(0) возвращает пустой массив 0x0
allchild(0)
ans =
0x0 пустой массив GraphicsPlaceholder.
Я даже открыл диалоговое окно блока вручную, чтобы дважды проверить, что я ничего не пропустил.
Кроме того, close_system не выдаст сообщение об ошибке / предупреждение, если диалоговое окно выбранного блока не открыто.
Любая помощь будет высоко оценена.
Комментарии:
1. Диалоговые окна Simulink не являются графическими объектами и не имеют доступных дескрипторов. почему вы не хотите использовать get_param? Данные, к которым он обращается, — это то, что находится в диалоговом окне.
2. Некоторые параметры запускаются только при выборе определенной опции, например, манипулирование данными с фиксированной точкой. К этому, однако, всегда можно получить доступ через set_param / get_param, даже если они недоступны пользователю. Я хочу автоматизировать запуск GUI и пользовательских тестов доступности, а не самих API.
3. Я второй Фил . Насколько мне известно, мы не можем получить доступ к диалоговым окнам блока Simulink в качестве графических дескрипторов.
4. Хорошо, спасибо за вашу помощь.