Nachdem ich den Qt-Designer und die komfortable Widget-Box im Qt-Designer entdeckt habe, würde ich dieser Pluginliste gerne ein eigenes Widget anfügen. Eingebaut ist das Widget-Plugin nun bereits. Problematik: Ich kann meinen selbstgeschriebenen Button zwar auf die Form ziehen und benutzen, sobald ich mir das Formfenster jedoch in der Preview (Form-->Preview) anzeigen lasse, erscheint der Button nicht mehr.
Hat jemand eine Idee woran das liegen könnte?
CPP, Header, Plugin-CPP, Plugin-Header, Pro-Datei und Makefiles wurden ordnungsgemäß erstellt.
CPP-Datei:
Code: Alles auswählen
#include <QPushButton>
#include <QString>
#include <QDialog>
#include "sof_hello.h"
sofbutton::sofbutton(QWidget *parent) : QPushButton(parent)
{
setText(QString("drück mich"));
QDialog *dialog = new QDialog(this);
connect(this,SIGNAL(clicked()),dialog,SLOT(exec()));
}
Code: Alles auswählen
#include "sof_hello.h"
#include "sof_hello_plugin.h"
#include <QtPlugin>
sofbuttonplugin::sofbuttonplugin(QObject *parent)
: QObject(parent)
{
initialized = false;
}
void sofbuttonplugin::initialize(QDesignerFormEditorInterface * /* core */)
{
if (initialized)
return;
initialized = true;
}
bool sofbuttonplugin::isInitialized() const
{
return initialized;
}
QWidget *sofbuttonplugin::createWidget(QWidget *parent)
{
return new sofbutton(parent);
}
QString sofbuttonplugin::name() const
{
return "Sofbutton";
}
QString sofbuttonplugin::group() const
{
return "OWN_Button";
}
QIcon sofbuttonplugin::icon() const
{
return QIcon();
}
QString sofbuttonplugin::toolTip() const
{
return "";
}
QString sofbuttonplugin::whatsThis() const
{
return "";
}
bool sofbuttonplugin::isContainer() const
{
return false;
}
QString sofButtonlplugin::domXml() const
{
return "<widget class=\"SofButtonl\" name=\"sofButton\">\n"
" <property name=\"geometry\">\n"
" <rect>\n"
" <x>0</x>\n"
" <y>0</y>\n"
" <width>100</width>\n"
" <height>50</height>\n"
" </rect>\n"
" </property>\n"
" <property name=\"toolTip\" >\n"
" <string></string>\n"
" </property>\n"
" <property name=\"whatsThis\" >\n"
" <string>"
"</string>\n"
" </property>\n"
"</widget>\n";
}
QString sofbuttonplugin::includeFile() const
{
return "sof_hello.h";
}
QString sofbuttonlplugin::codeTemplate() const
{
return "";
}
Q_EXPORT_PLUGIN2(sofbutton, sofbuttonplugin)