难不成这问题就随它自生自灭了……?
.h文件
#ifndef QXTBASESPINBOXPLUGIN_H
#define QXTBASESPINBOXPLUGIN_H
#include <QDesignerCustomWidgetInterface>
class QxtBaseSpinBoxPlugin : public QObject, public QDesignerCustomWidgetInterface
{
Q_OBJECT
Q_INTERFACES(QDesignerCustomWidgetInterface)
public:
QxtBaseSpinBoxPlugin(QObject* parent = 0);
QString name() const;
QString includeFile() const;
QString group() const;
QIcon icon() const;
QString toolTip() const;
QString whatsThis() const;
bool isContainer() const;
QWidget *createWidget(QWidget *parent);
};
#endif // QXTBASESPINBOXPLUGIN_H
.cpp文件
#include <QtPlugin>
#include "qxtbasespinboxplugin.h"
#include "../qxtbasespinbox.h"
QxtBaseSpinBoxPlugin::QxtBaseSpinBoxPlugin(QObject* parent)
: QObject(parent)
{
}
QString QxtBaseSpinBoxPlugin::name() const
{
return "QxtBaseSpinBox";
}
QString QxtBaseSpinBoxPlugin::includeFile() const
{
return "qxtbasespinbox.h";
}
QString QxtBaseSpinBoxPlugin::group() const
{
return tr("Input Widgets");
}
QIcon QxtBaseSpinBoxPlugin::icon() const
{
return QIcon(":/logo.png");
}
QString QxtBaseSpinBoxPlugin::toolTip() const
{
return "QxtBaseSpinBox";
}
QString QxtBaseSpinBoxPlugin::whatsThis() const
{
return "QxtBaseSpinBox";
}
bool QxtBaseSpinBoxPlugin::isContainer() const
{
return false;
}
QWidget *QxtBaseSpinBoxPlugin::createWidget(QWidget *parent)
{
return new QxtBaseSpinBox(parent);
}
Q_EXPORT_PLUGIN2(qxtbasespinbox, QxtBaseSpinBox)
.pro文件
TEMPLATE = lib
CONFIG += designer plugin
DESTDIR = $$[QT_INSTALL_PLUGINS]/designer
HEADERS = \
qxtbasespinboxplugin.h \
../qxtbasespinbox.h \
../qxtglobal.h
SOURCES = \
qxtbasespinboxplugin.cpp \
../qxtbasespinbox.cpp
RESOURCES = \
resource.qrc