Eigene Plugins
Verfasst: 24. September 2009 08:44
Hi,
habe mir gerade ein eigenes Widget gebaut was ich gerne im Designer haben möchte...
Kleiner Probs:
a) Das Plugin wird im lokalen Ordner gebaut und nicht im /plugin/designer
b) Nach man. kopieren sehe ich das Widget nicht im Designer. Wenn ich über forms->Loaded Plugins gehe sehe ich meins und das Webding.
Hier mal meine .pro
Die Interface Klasse:
habe mir gerade ein eigenes Widget gebaut was ich gerne im Designer haben möchte...
Kleiner Probs:
a) Das Plugin wird im lokalen Ordner gebaut und nicht im /plugin/designer
b) Nach man. kopieren sehe ich das Widget nicht im Designer. Wenn ich über forms->Loaded Plugins gehe sehe ich meins und das Webding.
Hier mal meine .pro
Code: Alles auswählen
# -------------------------------------------------
# Project created by QtCreator 2009-09-23T12:24:35
# -------------------------------------------------
CONFIG += designer \
plugin
TARGET = $$qtLibraryTarget($$TARGET)
TEMPLATE = lib
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/designer
DEFINES += NAVIGATIONWIDGET_LIBRARY
SOURCES += navigationwidget.cpp \
avnavigationwidget.cpp
HEADERS += navigationwidget.h \
avnavigationwidget.h
FORMS += avnavigationwidget.ui
RESOURCES += resource.qrc
# install
target.path = $$[QT_INSTALL_PLUGINS]/designer
sources.files = $$SOURCES \
$$HEADERS \
*.pro
sources.path = /home/myname/projects/unix-gui/CC_NavigationWidget/navigationWidget
# [QT_INSTALL_EXAMPLES]/designer/customwidgetplugin
INSTALLS += target \
sourcesCode: Alles auswählen
#include <QtPlugin>
NavigationWidget::NavigationWidget(QObject *parent)
: QObject(parent)
{
initialized = false;
}
void NavigationWidget::initialize(QDesignerFormEditorInterface * /* core */)
{
if (initialized)
return;
initialized = true;
}
bool NavigationWidget::isInitialized() const
{
return initialized;
}
QWidget *NavigationWidget::createWidget(QWidget *parent)
{
/*TODO*/
return new AvNavigationWidget(parent);
}
QString NavigationWidget::name() const
{
return "NavigationWidget";
}
QString NavigationWidget::group() const
{
return "Containers";
}
QIcon NavigationWidget::icon() const
{
return QIcon(":/icons/configuration_icon.ico");
}
QString NavigationWidget::toolTip() const
{
return "";
}
QString NavigationWidget::whatsThis() const
{
return "";
}
bool NavigationWidget::isContainer() const
{
return true;
}
QString NavigationWidget::domXml() const
{
return QString();
}
QString NavigationWidget::includeFile() const
{
return "avnavigationwidget.h";
}
Q_EXPORT_PLUGIN2(navigationwidget, NavigationWidget)