Изменить источник QQuickImage изнутри функции или слота Q_INVOKABLE - PullRequest
0 голосов
/ 21 октября 2018

У меня очень простая задача, которая привела к тому, что я ходил кругами в основном из-за разделения QML и стороны C ++ на QT.Поэтому вместо того, чтобы задавать конкретные вопросы QT, мне нужен общий совет о том, какие функции QT и QML я должен использовать для достижения своего варианта использования.

Usecase:

Интерфейс QQuickControls позволяетПользователь, чтобы выбрать изображение.Это изображение отображается в пользовательском интерфейсе.Когда пользователь нажимает кнопку «Процесс», приложение находит ребра.

Мой вопрос таков;как я могу перезаписать показанное в данный момент изображение?Должен ли я использовать функцию Q_INVOKABLE?Или сигнал или слот?Мой код ниже создал пользовательский интерфейс, позволяет пользователю выбирать изображение (и отображать его), генерирует изображение края при нажатии кнопки «Обработка».Это просто не отображает это новое граничное изображение, потому что я не знаю, как этого добиться в QT / QQuickControls2.

Любой совет, как реализовать это в QT, был бы очень признателен.

1 Ответ

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

Что у нас есть:

  • QML UI с заполнителем для изображения и кнопкой для запуска нового изображения.
  • C ++ ImageProcessor Тип QML для генерации нового изображения из OpenCV Mat.

Самое простое решение:

Имейте в виду, что есть еще несколько решений для более динамического рендеринга с QQuickFramebufferObject и QQuickpainteditem и QAbstractVideoSurface, которые стоят усилий, когда изображение не статично и т. Д.

PS Я также предлагаювам нужно переименовать вопрос, если речь идет не о том, как именно выполнить код C ++ из QML, а о том, как создать QML-совместимое изображение и действительно его визуализировать.

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