Невозможно выбрать точку данных в UIFigure после компиляции - PullRequest
0 голосов
/ 09 июля 2020

Я создал приложение в конструкторе приложений Matlabs. Приложение включает в себя элемент UIAxes с некоторыми точками данных.

При запуске приложения через «нормальный» Matlab он отлично работает. Я могу выбирать точки и получать координаты, используя
dcm_obj = datacursormode(app.UIFigure)
, а затем
click_coords1 = getCursorInfo(dcm_obj);.

После компиляции приложения с помощью компилятора Matlab (Поделиться -> автономное настольное приложение -> включить время выполнения в пакете) и при запуске скомпилированной версии точки данных больше не могут быть выбраны . Когда я нажимаю на точку данных на рисунке, просто ничего не происходит. Точка данных не выбрана, и всплывающая подсказка не отображается. Код, который обычно возвращает координаты, теперь ничего не возвращает. Я также заметил, что сама фигура выглядит менее красивой (круги на диаграмме рассеяния кажутся квадратными sh).

Другие функции, похоже, работают: раскрывающиеся меню и кнопки, которые извлекают и рисуют данные на рисунке, нарисовать новые данные на рисунке тоже не проблема. Я также могу панорамировать фигуру (хотя по какой-то причине это очень медленно в Ubuntu 20, но не в CentOS 8).

Я запускаю приложение, используя предоставленный сценарий bash: ./run_myapp.sh [path to matlab]

Нет разницы в запуске приложения от имени локального пользователя или root. Также нет разницы при ссылке на среду выполнения MATLAB или «нормальный» Matlab.

Подробности:
Версия среды выполнения Matlab: V98
«Обычная» версия MATLAB: R2020a
Операционная система: Ubuntu 20.04 / CentOS 8

Проблема может быть воспроизведена с помощью примера приложения «Отображение пациентов», которое предоставляет конструктор приложений Matlab. Скомпилируйте его как автономное настольное приложение с включенной средой выполнения. Установите его и запустите, используя предоставленный сценарий bash. Нажатие на точки данных невозможно (но возможно в конструкторе приложений).

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