July 16, 2019, 3:29 a.m.

В QML не обновляется Image

Добрый день. Делаю снимки с камеры в один и тот-же файл. Но при попытке загрузки этого файда в Image я получаю первоначальный файл (который был до фотографирования). Возможно это из-за того, что картинка хранится в кеше. Скажите пожалуйста, как загружать нынешний файл в Image?

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
8

Добрый день. Прикладывайте код.

Пробовал даже этот файл удалять , все равно такой глюк. Можно ли из с++ QImage передать в QML в Image?

import QtQuick 2.12
import QtQuick.Controls 2.12
import QtMultimedia 5.12

Item {
    width: 400
    height: 700

    property alias buttonPhoto: buttonPhoto
    property alias photoImage: photoImage
    property alias photoPreview: photoPreview
    property alias camera: camera

    Camera {
        id: camera

        imageProcessing.whiteBalanceMode: CameraImageProcessing.WhiteBalanceFlash

        exposure {
            exposureCompensation: -1.0
            exposureMode: Camera.ExposurePortrait
        }

        flash.mode: Camera.FlashRedEyeReduction

        imageCapture {
            id: imageCapture1
            onImageCaptured: {
                photoPreview.source = preview  // Show the preview in an Image
            }
            onImageSaved: {
                photoImage.source = "file:" + appCore.getDirApp() +  "/IMG_00000001.jpg"
                appCore.closeFile(appCore.getDirApp() +  "/IMG_00000001.jpg")
            }
        }
    }

    VideoOutput {
        anchors.bottomMargin: 331
        source: camera
        anchors.fill: parent
        focus : visible // to receive focus and capture key events when visible
        autoOrientation: true
    }

    Image {
        id: photoPreview
    }

    Image {
        id: photoImage
        x: 21
        y: 433
        width: 219
        height: 215
        fillMode: Image.PreserveAspectFit
        source: "qrc:/Images/Images/6.png"

    }

    Button {
        id: buttonPhoto
        x: 264
        y: 507
        text: qsTr("Photo")
        onClicked: {
            imageCapture1.capture()
        }
    }
}
R

Image cache : bool

Specifies whether the image should be cached. The default value is true. Setting cache to false is useful when dealing with large images, to make sure that they aren't cached at the expense of small 'ui element' images.

Сделал так, но беда осталась:

    Image {
        id: photoImage
        x: 21
        y: 433
        width: 219
        height: 215
        fillMode: Image.PreserveAspectFit
        cache: false
        source: "qrc:/Images/Images/6.png"

    }
R

а так є вивід при оновленні картинки?

onSourceChanged: {
    console.log("test set new source")
}
console.log("cache" + photoImage.cache)

возвращает "cachefalse". Можно ли из с++ QImage передать в QML в Image?

  • July 16, 2019, 5:22 a.m.
  • The answer was marked as a solution.

Вот так перевожу QImage в QByteArray

QString AppCore::getImage(QString addressFile)
{
    QImage myImage(addressFile);

    QByteArray bArray;
    QBuffer buffer(&bArray);
    buffer.open(QIODevice::WriteOnly);
    myImage.save(&buffer, "JPEG");

    QString image("data:image/jpg;base64,");
    image.append(QString::fromLatin1(bArray.toBase64().data()));

    return image;
}

Скажите пожалуйста , как теперь в QML задать QByteArray как картинку

Вот так работает

photoImage.source = appCore.getImage(appCore.getDirApp() +  "/IMG_00000001.jpg")

Comments

Only authorized users can post comments.
Please, Log in or Sign up
How to become an author?

Contribute to the evolution of the EVILEG community.

Learn how to become a site author.

Learn it
Donate

Good day, Dear Users!!!

I am Evgenii Legotckoi, developer of EVILEG. And it is my hobby project, which helps to learn programming another programmers and developers

If the site helped you, and you want also support the development of the site, than you can donate by following ways

PayPalYandex.Money
Timeweb

Let me recommend you the excellent hosting on which EVILEG is located.

For many years, Timeweb has been proving his stability.

For projects on Django I recommend VDS hosting

View Hosting Timeweb
g
May 29, 2020, 2:32 p.m.
glushchenkoin

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:40points,
  • Rating points-8
AS
May 26, 2020, 11:29 a.m.
Artem Sun-Dun-Chan

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:50points,
  • Rating points-4
MN
May 25, 2020, 11:33 a.m.
Mitja Nagibin

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:50points,
  • Rating points-4
Last comments
May 31, 2020, 8:15 a.m.
IscanderChe

Как установить OpenCV на Qt под Windows

Добавлю от себя: на Windows 10 x64 с MinGW 7.3.0 в CMake надо установить флаг OPENCV_ENABLE_ALLOCATOR_STATS=OFF, тогда всё скомпилится нормально.
May 29, 2020, 1 p.m.
Evgenij Legotskoj

Django - Tutorial 023. Like Dislike system using GenericForeignKey

Думал так, но похоже что нет. {{ post.votes.likes.user.username }} Это же QuerySet будет, а не отдельный единственный объект {% for vote in post.votes %} {{ vote.user.username …
May 29, 2020, 11:43 a.m.
Vladislav Melenchuk

Django - Tutorial 023. Like Dislike system using GenericForeignKey

А как получить имя пользователя, который поставил лайк? Думал так, но похоже что нет. {{ post.votes.likes.user.username }}
May 29, 2020, 6:30 a.m.
Evgenij Legotskoj

Qt/C++ - Lesson 039. How to paint stroke in QSqlTableModel by value in the column?

У меня работает. Исправлял в проекте, который приложен к статье. А что происходит в вашем коде, с учётом места вызова этого кода, я знать не могу ;) Дебажьте и добавляйте условия, кото…
Now discuss on the forum
May 31, 2020, 6:57 a.m.
Aleksej Vnukov

Минимальный размер Item

считайте по размеру включенных элементов, чтоб все помещалась. например у вас всего 2 кнопки, тогда минимальный размер итема будет ширина 1-й кнопки + ширина 2-й кнопки + отступы, и точно также …
f
May 31, 2020, 2:24 a.m.
fryn3

Можно ли сделать в QML таблицу как в Excel?

Можно ли сделать в QML таблицу как в Excel или как сделано в QTableView? Что бы можно было выделять диапазон ячеек, переключатся по таб, изменять размеры строк и столбцов. В QT 5.14 по…
S
RS
May 30, 2020, 11:49 a.m.
Ruslan Skljuev

QML Как при нажатии на кнопку изменить название окна?

У меня три файла: 1. QML - это Loader и Window 2. QML вход в программу - страница Loader (там есть Switch) 3. QML - MainMenu. Мне нужно в (1), чтобы если на (2) Switch.enable, то …
DK
May 29, 2020, 1:27 p.m.
Dzhon Kofi

QMap<> какой ключ лучше

это ясно. Вопрос в том, как быстро мапа будет отрабатывать, если ключом будет QModelIndex. Какой параметр индекса возьмет за ключ. И вот насколько это будет медленнее или быстрее, чем QString пр…
About
Services
© EVILEG 2015-2020
Recommend hosting TIMEWEB