Название: Image в qml Отправлено: SektorCT от Декабрь 30, 2023, 16:58 Всем привет.
Мне требуется работа с изображением в qml, ротация и зум изображения, растягивание по высоте(fitToHeight) и по ширине(fitToWidth). В qml обьекте Image я не нашел данные методы но они есть в С++ классе. Как или возможно ли открыть обьект в С++ классе и уже этот обьект передать в qml чтобы с ним работать? Удобно что я в С++ когда надо поверну изображение или растяну и результат в qml передам для отобраения. Или нет то как смотит подойти к решению необходимого функционала? Спасибо Название: Re: Image в qml Отправлено: kambala от Декабрь 30, 2023, 20:00 через свойство source ты указываешь где взять картинку: это может быть вшитый ресурс, папка приложения, временная папка и т.д. То есть в С++ меняешь изображение как тебе надо, сохраняешь куда-то этот файл и подаешь путь к нему в свойство source.
вон есть еще какая-то хитрая штука, но я ею не пользовался https://doc.qt.io/qt-6/qquickimageprovider.html Название: Re: Image в qml Отправлено: SektorCT от Декабрь 30, 2023, 22:05 через свойство source ты указываешь где взять картинку: это может быть вшитый ресурс, папка приложения, временная папка и т.д. То есть в С++ меняешь изображение как тебе надо, сохраняешь куда-то этот файл и подаешь путь к нему в свойство source. вон есть еще какая-то хитрая штука, но я ею не пользовался https://doc.qt.io/qt-6/qquickimageprovider.html Сохранять куда то и открывать не вариант, вообще не вариант, мне на прямую надо только с одним файлом работать. Поварачивать, зум делать. Это мне надо после каждого действия куда то сохранять и открывать да еще и так чтобы юзер думал что он с тем же файлмо работает? Нет, плохая идея да еще и сохранять нельзя. Название: Re: Image в qml Отправлено: SektorCT от Январь 05, 2024, 13:47 В общем я взял функции а точнее принцип рабоыт для растягивания из модуля по работе с pdf и вроде как помогло.
Код фактически выглядит сейчас так(из 2 файлов, 3 части с кнопками умправления, центр изображение и статусбар низ. 2 файл это непосредственно центр): Код: Item И код самого центрального обьекта Код: Flickable А проблемы теперь по факту 2, первая это странно выглядят границы центрального обьекта с изображением, при этом само изображение нормально распологается. Может я не должен использовать anchors.fill: parent для parentImage. Получается что верхняя граница(она красного цвета) находится под верхнми обьектом. https://ibb.co/Rj56nx5 (https://ibb.co/Rj56nx5) А вторая проблема это то что при растягивании изображения у меня скрол не работает. Может при прокручивании колосека на мыши обьект Flickable должен какой то сигнал испускать? |