相关疑难解决方法(0)

Qt/QML:将QImage从C++发送到QML并在GUI上显示QImage

我创建了一个Publisher定期发出QImage对象的类.

但是,我很难将其绘制QImage到QML元素中.似乎ImageCanvasQML组件需要一个QUrl而不是一个QImage,但我不知道如何将我转换QImage成一个QUrl.编辑4:当我说QUrl时,我并不是说我正在尝试将图像转换为URL.那是胡说八道.我的意思是我要生成对此图像的引用,该引用不在磁盘上,并且QML组件要求的数据类型是URL.

我做了一些研究,发现它QQuickImageProvider提供了一个解决方案,但我没有找到任何文档解释如何将我的QImage信号转换为QUrl我可用于绘图的信号.任何示例代码或参考文档将不胜感激.

谢谢你的帮助!

EDIT1:

我在这里看了一下:http://qt-project.org/doc/qt-5.0/qtquick/qquickimageprovider.html我没看到我如何将QImage传递给快速图像提供程序并从中创建一个QUrl .

EDIT2.这是标题.实施不应该很重要.

class Publisher
{
    Q_OBJECT

public:
    Publisher(QObject* parent = 0);

    virtual ~Publisher(void);

Q_SIGNALS:

    void newImage(const QImage& newImage);
};
Run Code Online (Sandbox Code Playgroud)

编辑3.这是我的QML代码,但我不知道如何绘制我的QImage,所以这段代码是没有意义的.

我的main.cpp文件:

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    qmlRegisterType<Publisher>("Components", 1, 0, "Publisher");

    QtQuick2ApplicationViewer viewer;
    viewer.setMainQmlFile(QStringLiteral("qml/QQuickViewExample/main.qml"));
    viewer.showExpanded();

    return app.exec();
}
Run Code Online (Sandbox Code Playgroud)

我的main.qml文件:

import QtQuick …
Run Code Online (Sandbox Code Playgroud)

c++ qt qml

28
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×1

qml ×1

qt ×1