Russian Qt Forum
Октябрь 02, 2024, 19:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не отображается пользовательский виджет.  (Прочитано 2091 раз)
DiamondRain
Гость
« : Декабрь 07, 2010, 17:58 »

Создал плагин с элементарным интерфейсом (кнопка и лейбл). В Qt-дизайнере плагин появляется, я его добавляю на форму, однако при запуске мой плагин не отображается. В то же время я кидал на ту же форму плагин из экзамплов. Он отображается.
Код моего плагина:

pro:
Код:
CONFIG      += designer plugin debug_and_release
TARGET      = $$qtLibraryTarget(asdasdplugin)
TEMPLATE    = lib

HEADERS     = asdasdplugin.h
SOURCES     = asdasdplugin.cpp
RESOURCES   = icons.qrc
LIBS        += -L.

target.path = $$[QT_INSTALL_PLUGINS]/designer
INSTALLS    += target

include(asdasd.pri)


asdasdplugin.cpp:

Код:
#include "asdasd.h"
#include "asdasdplugin.h"

#include <QtCore/QtPlugin>

AsdasdPlugin::AsdasdPlugin(QObject *parent)
    : QObject(parent)
{
    m_initialized = false;
}

void AsdasdPlugin::initialize(QDesignerFormEditorInterface * /* core */)
{
    if (m_initialized)
        return;

    // Add extension registrations, etc. here

    m_initialized = true;
}

bool AsdasdPlugin::isInitialized() const
{
    return m_initialized;
}

QWidget *AsdasdPlugin::createWidget(QWidget *parent)
{
    return new Asdasd(parent);
}

QString AsdasdPlugin::name() const
{
    return QLatin1String("Asdasd");
}

QString AsdasdPlugin::group() const
{
    return QLatin1String("");
}

QIcon AsdasdPlugin::icon() const
{
    return QIcon();
}

QString AsdasdPlugin::toolTip() const
{
    return QLatin1String("");
}

QString AsdasdPlugin::whatsThis() const
{
    return QLatin1String("");
}

bool AsdasdPlugin::isContainer() const
{
    return false;
}

QString AsdasdPlugin::domXml() const
{
    return QLatin1String("<widget class=\"Asdasd\" name=\"asdasd\">\n</widget>\n");
}

QString AsdasdPlugin::includeFile() const
{
    return QLatin1String("asdasd.h");
}

Q_EXPORT_PLUGIN2(asdasdplugin, AsdasdPlugin)

Кстати, всплывающая подсказка для него работает, когда навожу курсор в его область.
« Последнее редактирование: Декабрь 07, 2010, 18:14 от DiamondRain » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.129 секунд. Запросов: 21.