我创建了一个Publisher定期发出QImage对象的类.
但是,我很难将其绘制QImage到QML元素中.似乎Image和CanvasQML组件需要一个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)