---
name: "qwidgetplugin"
section: "3qt"
platform: "linux"
package: "qt3-doc"
version: "3:3.3.8b-7"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/qwidgetplugin"
---

# qwidgetplugin(3qt)

Abstract base for custom QWidget plugins

## NAME

QWidgetPlugin - Abstract base for custom QWidget plugins

## SYNOPSIS

`#include <qwidgetplugin.h>`

### Public Members

**QWidgetPlugin ()**\
 **~QWidgetPlugin ()**\
 **virtual QStringList keys () const = 0**\
 **virtual QWidget \* create ( const QString & key, QWidget \* parent = 0, const char \* name = 0 ) = 0**\
 **virtual QString group ( const QString & key ) const**\
 **virtual QIconSet iconSet ( const QString & key ) const**\
 **virtual QString includeFile ( const QString & key ) const**\
 **virtual QString toolTip ( const QString & key ) const**\
 **virtual QString whatsThis ( const QString & key ) const**\
 **virtual bool isContainer ( const QString & key ) const**\

## DESCRIPTION

The QWidgetPlugin class provides an abstract base for custom QWidget plugins.

The widget plugin is a simple plugin interface that makes it easy to create custom widgets that can be included in forms using Qt Designer and used by applications.

Writing a widget plugin is achieved by subclassing this base class, reimplementing the pure virtual functions keys(), create(), group(), iconSet(), includeFile(), toolTip(), whatsThis() and isContainer(), and exporting the class with the `Q_EXPORT_PLUGIN` macro.

See the Qt Designer manual's, 'Creating Custom Widgets' section in the 'Creating Custom Widgets' chapter, for a complete example of a QWidgetPlugin.

See also the Plugins documentation and the QWidgetFactory class that is supplied with Qt Designer.

See also Plugins.

## MEMBER FUNCTION DOCUMENTATION

## QWidgetPlugin::QWidgetPlugin ()

Constructs a widget plugin. This is invoked automatically by the `Q_EXPORT_PLUGIN` macro.

## QWidgetPlugin::~QWidgetPlugin ()

Destroys the widget plugin.

You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.

## QWidget \* QWidgetPlugin::create ( const QString & key, QWidget \* parent = 0, const char \* name = 0 )` [pure virtual]`

Creates and returns a QWidget object for the widget key *key*. The widget key is the class name of the required widget. The *name* and *parent* arguments are passed to the custom widget's constructor.

See also keys().

## QString QWidgetPlugin::group ( const QString & key ) const` [virtual]`

Returns the group (toolbar name) that the custom widget of class *key* should be part of when *Qt Designer* loads it.

The default implementation returns QString::null.

## QIconSet QWidgetPlugin::iconSet ( const QString & key ) const` [virtual]`

Returns the iconset that *Qt Designer* should use to represent the custom widget of class *key* in the toolbar.

The default implementation returns an null iconset.

## QString QWidgetPlugin::includeFile ( const QString & key ) const` [virtual]`

Returns the name of the include file that *Qt Designer* and `uic` should use to include the custom widget of class *key* in generated code.

The default implementation returns QString::null.

## bool QWidgetPlugin::isContainer ( const QString & key ) const` [virtual]`

Returns TRUE if the custom widget of class *key* can contain other widgets, e.g. like QFrame; otherwise returns FALSE.

The default implementation returns FALSE.

## QStringList QWidgetPlugin::keys () const` [pure virtual]`

Returns the list of widget keys this plugin supports.

These keys must be the class names of the custom widgets that are implemented in the plugin.

See also create().

## QString QWidgetPlugin::toolTip ( const QString & key ) const` [virtual]`

Returns the text of the tooltip that *Qt Designer* should use for the custom widget of class *key*'s toolbar button.

The default implementation returns QString::null.

## QString QWidgetPlugin::whatsThis ( const QString & key ) const` [virtual]`

Returns the text of the whatsThis text that *Qt Designer* should use when the user requests whatsThis help for the custom widget of class *key*.

The default implementation returns QString::null.

## SEE ALSO

**http://doc.trolltech.com/qwidgetplugin.html** **http://www.trolltech.com/faq/tech.html**

## COPYRIGHT

Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com.  See the license file included in the distribution for a complete license statement.

## AUTHOR

Generated automatically from the source code.

## BUGS

If you find a bug in Qt, please report it as described in **http://doc.trolltech.com/bughowto.html**. Good bug reports help us to help you. Thank you.

The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech.

If you find errors in this manual page, please report them to **qt-bugs@trolltech.com**. Please include the name of the manual page (qwidgetplugin.3qt) and the Qt version (3.3.8).
