[英]Adding widgets to Qt Designer
有兩種方法:
A.使用促銷
最簡單的方法。 此方法直接獲取源而不構建它。
這有點單調乏味......
為了CustomWidget
它,假設你有一個所需的類(widget): CustomWidget
with customwidget.cpp
和customwidget.h
。
CustomWidgetPlugin
並公開繼承QObject
和QDesignerCustomWidgetInterface
並重新實現一些虛函數。 例:
customwidget.h
:
#include <QDesignerCustomWidgetInterface>
#include "customwidget.h"
class CustomWidgetPlugin : public QObject, public QDesignerCustomWidgetInterface
{
Q_OBJECT
Q_INTERFACES(QDesignerCustomWidgetInterface) // note this line, it tell moc that the second base class is a plugin interface.
public:
CustomWidget(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);
};
customwidget.cpp
:
構造函數:
CustomWidget::CustomWidgetPlugin(QObject *parent)
: QObject(parent)
{
}
名字吸氣劑:
QString CustomWidgetPlugin::name() const
{
return "CustomWidget";
}
headerfile getter:
QString CustomWidgetPlugin::includeFile() const
{
return "customwidget.h";
}
組名吸氣劑:
QString CustomWidgetPlugin::group() const
{
return tr("New Group");
}
(組名稱定義窗口小部件所在的位置,如果名稱不適合任何默認組,則會創建新組)
圖標(用於設計器中顯示的圖標):
QIcon CustomWidgetPlugin::icon() const
{
return QIcon(":/images/icon.png");
}
小部件的工具提示:
QString CustomWidgetPlugin::toolTip() const
{
return tr("This is a widget, got it?");
}
這是什么信息:
QString CustomWidgetPlugin::whatsThis() const
{
return tr("A widget, already said.");
}
定義它是否是“容器”(可以容納另一個小部件):
bool CustomWidgetPlugin::isContainer() const
{
return false;
}
工廠memeber功能:
QWidget *CustomWidgetPlugin::createWidget(QWidget *parent)
{
return new CustomWidget(parent);
}
在customwidget.cpp
文件的末尾,添加以下宏:
Q_EXPORT_PLUGIN2(customwidgetplugin , CustomWidgetPlugin) // (the widget name, the class name)
它使插件可用於Qt deisgner。
最后,在.pro
文件中:
TEMPLATE = lib
CONFIG += designer plugin release
HEADERS = ../customwidget.h \
customwidgetplugin.h
SOURCES = ../customwidget.cpp \
customwidgetplugin.cpp
RESOURCES = customwidget.qrc
DESTDIR = $(QTDIR)/plugins/designer #assume QTDIR environment variable is set to the directory where Qt is installed.
構建此項目后,下次打開Qt設計器時,您將看到該小部件。
參考: 使用Qt 4進行C ++ GUI編程
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.