with no other option I tried the example program from nokia developer site here is the link
http://harmattan-dev.nokia.com/docs/...eprovider.html
when I tried the above example I got an error message "QML Image:Failed to get image from provider: image://colors/yellow"
Here is the code with few changes from example
main.cpp
#include <QtGui/QApplication>
#include "qmlapplicationviewer.h"
#include <QDeclarativeEngine>
#include <QDeclarativeImageProvider>
class ColorImageProvider : public QDeclarativeImageProvider
{
public:
ColorImageProvider()
: QDeclarativeImageProvider(QDeclarativeImageProvider::Pixmap)
{
}
{
int width = 100;
int height = 50;
if (size)
*size
= QSize(width, height
);
QPixmap pixmap
(requestedSize.
width() >
0 ? requestedSize.
width() : width,
requestedSize.height() > 0 ? requestedSize.height() : height);
pixmap.
fill(QColor(id
).
rgba());
return pixmap;
}
};
int main(int argc, char *argv[])
{
QScopedPointer<QApplication> app(createApplication(argc, argv));
QmlApplicationViewer viewer;
viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
viewer.
setMainQmlFile(QLatin1String("qml/yellow_red_imageprovider/main.qml"));
viewer.showExpanded();
QDeclarativeEngine engine;
engine.
addImageProvider(QLatin1String("colors"),
new ColorImageProvider
);
return app->exec();
}
#include <QtGui/QApplication>
#include "qmlapplicationviewer.h"
#include <QDeclarativeEngine>
#include <QDeclarativeImageProvider>
class ColorImageProvider : public QDeclarativeImageProvider
{
public:
ColorImageProvider()
: QDeclarativeImageProvider(QDeclarativeImageProvider::Pixmap)
{
}
QPixmap requestPixmap(const QString &id, QSize *size, const QSize &requestedSize)
{
int width = 100;
int height = 50;
if (size)
*size = QSize(width, height);
QPixmap pixmap(requestedSize.width() > 0 ? requestedSize.width() : width,
requestedSize.height() > 0 ? requestedSize.height() : height);
pixmap.fill(QColor(id).rgba());
return pixmap;
}
};
int main(int argc, char *argv[])
{
QScopedPointer<QApplication> app(createApplication(argc, argv));
QmlApplicationViewer viewer;
viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
viewer.setMainQmlFile(QLatin1String("qml/yellow_red_imageprovider/main.qml"));
viewer.showExpanded();
QDeclarativeEngine engine;
engine.addImageProvider(QLatin1String("colors"), new ColorImageProvider);
return app->exec();
}
To copy to clipboard, switch view to plain text mode
main.qml
import QtQuick 1.1
Column {
Image { source: "image://colors/red" }
Image { source: "image://colors/yellow" }
}
import QtQuick 1.1
Column {
Image { source: "image://colors/red" }
Image { source: "image://colors/yellow" }
}
To copy to clipboard, switch view to plain text mode
I don't know how to solve this problem
Bookmarks