Мне нужно показать изображение png на странице QML, используя QByteArray, переданный из подпрограмм С++ в QML. Как я могу это сделать? Пожалуйста, помогите мне с этим, ребята..
Передача изображения QByteArray из С++ в QML
comment
mattgemmell.com/2008/12/08/what-have-you -пробовал
- person albertjan   schedule 24.07.2013
Ответы (1)
Предполагая, что у вас есть данные в QByteArray
с именем data
, это должно работать:
QImage image;
image.loadFromData(data);
const QImage swappedImage = image.rgbSwapped();
const bb::ImageData imageData = bb::ImageData::fromPixels(swappedImage.bits(), bb::PixelFormat::RGBA_Premultiplied, swappedImage.width(), swappedImage.height(), swappedImage.bytesPerLine());
_image = bb::cascades::Image(imageData);
Теперь вы можете отображать _image
в ImageView
в коде QML. Для этого вам нужно преобразовать его в QVariant
: QVariant::fromValue(_image);
. После этого вы можете отобразить его в любом файле ImageView
. Я предполагаю, что у вас есть объект с именем feed
, который имеет свойство image
(QVariant
):
ImageView {
image: feed.image
}
person
Marc Plano-Lesay
schedule
23.07.2013
Спасибо за ваш ответ. Как я могу передать это _image в ImageView в QML? Я пробовал много методов, но все это терпит неудачу...!!
- person Varghese Kiran; 24.07.2013
Я обновил свой ответ, чтобы объяснить это. По сути, вам нужно преобразовать свое изображение в
QVariant
, тогда все будет работать.
- person Marc Plano-Lesay; 24.07.2013
Спасибо за ваш ответ. Еще одна помощь, пожалуйста. Как я могу установить свойство изображения (QVaiant) для объекта с именем feed.
- person Varghese Kiran; 28.07.2013
Мой объект фида — это объект, экспортированный из C++. Его класс объявляет различные свойства с помощью макроса
Q_PROPERTY
: developer.blackberry.com/cascades/reference/ свойства.html
- person Marc Plano-Lesay; 28.07.2013
Не могли бы вы дать мне пример кода для реализации Q_PROPERTY для этого сценария. Потому что документация немного запутана. Заранее спасибо...
- person Varghese Kiran; 28.07.2013
Мой полный курс
Feed
доступен здесь: github. com/Kernald/tt-rss-bb10/blob/master/src/data/feed.hpp — обратите внимание, что image
теперь icon
.
- person Marc Plano-Lesay; 28.07.2013
Это сотворило волшебство. Большое спасибо за помощь... :)
- person Varghese Kiran; 29.07.2013