Plugin selber schreiben.
Verfasst: 14. November 2009 16:32
Hallo Leute,
ich versuche gerade ein Plugin selber zu schreiben. Leider funktioniert das nicht so sehr.
Vielleicht kann mir da jemand helfend zur Seite springen.
So sieht die Schnittstelle auf der Anwendungsseite aus:
#ifndef INITIMAGEPLUGININTERFACE_H
#define INITIMAGEPLUGININTERFACE_H
class QImage;
class InitImagePluginInterface {
public:
virtual ~InitImagePluginInterfae(){}
// Methode für die Initialisierung
virtual void init(QImage &image);
};
Q_DECLARE_INTERFACE(InitImagePluginInterface,"com.abc.BA_0.InitImagePluginInterface/1.1")
#endif
So sieht die integration der Schnittstelle in das Plugin aus:
#ifndef MYINITIMAGEINTERFACE_H
#define MYINITIMAGEINTERFACE_H
#include "../BA_0/InitImagePluginInterface.h"
class QObject;
class MyInitImageInterface : public QQbject,
public InitImagePluginInterface
{
Q_OBJECT
Q_INTERFACES(InitImagePluginInterface)
public:
void init(QImage &image);
};
#endif
Und so die dazu gehörige .cpp Datei:
#include <QtGui>
#include "MyInitImageInterface.h"
#include "Window.h"
void MyInitImageInterface::init(QImage &image)
{
Window window(image);
}
Q_EXPORT_PLUGIN2(myinitimageinterface, MyInitImageInterface)
Mehr ist das nicht. Aber es funktioniert aus irgendwelchen Gründen nicht.
Gruß
ich versuche gerade ein Plugin selber zu schreiben. Leider funktioniert das nicht so sehr.
So sieht die Schnittstelle auf der Anwendungsseite aus:
#ifndef INITIMAGEPLUGININTERFACE_H
#define INITIMAGEPLUGININTERFACE_H
class QImage;
class InitImagePluginInterface {
public:
virtual ~InitImagePluginInterfae(){}
// Methode für die Initialisierung
virtual void init(QImage &image);
};
Q_DECLARE_INTERFACE(InitImagePluginInterface,"com.abc.BA_0.InitImagePluginInterface/1.1")
#endif
So sieht die integration der Schnittstelle in das Plugin aus:
#ifndef MYINITIMAGEINTERFACE_H
#define MYINITIMAGEINTERFACE_H
#include "../BA_0/InitImagePluginInterface.h"
class QObject;
class MyInitImageInterface : public QQbject,
public InitImagePluginInterface
{
Q_OBJECT
Q_INTERFACES(InitImagePluginInterface)
public:
void init(QImage &image);
};
#endif
Und so die dazu gehörige .cpp Datei:
#include <QtGui>
#include "MyInitImageInterface.h"
#include "Window.h"
void MyInitImageInterface::init(QImage &image)
{
Window window(image);
}
Q_EXPORT_PLUGIN2(myinitimageinterface, MyInitImageInterface)
Mehr ist das nicht. Aber es funktioniert aus irgendwelchen Gründen nicht.
Gruß