Qt-Designer Custom Widget Plugin

Alles rund um die Programmierung mit Qt
Antworten
Dschingis Khan
Beiträge: 7
Registriert: 13. September 2010 10:30

Qt-Designer Custom Widget Plugin

Beitrag von Dschingis Khan »

Hallo alle zusammen!

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()));
}
Plugin-CPP:

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)
Wäre toll, wenn Ihr mir weiterhelfen könntet! :D
Antworten