crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

0xF
  опции профиля:
сообщение 18.3.2008, 11:32
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 71
Регистрация: 12.11.2007
Пользователь №: 20

Спасибо сказали: 0 раз(а)




Репутация:   0  


Не работает... похоже, что мой плагин QtDesigner даже не грузит :(

Header:
class cFoldoutPlugin : public QObject, public QDesignerCustomWidgetInterface
{
    Q_OBJECT
    Q_INTERFACES( QDesignerCustomWidgetInterface )

private:

    bool                initialized;

public:

                        cFoldoutPlugin( QObject *parent = 0 );

    virtual QString        name() const;
    virtual QString        group() const;
    virtual QString        toolTip() const;
    virtual QString        whatsThis() const;
    virtual QString        includeFile() const;
    virtual QIcon        icon() const;
    virtual bool        isContainer() const;
    virtual QWidget*    createWidget(QWidget *parent);
    virtual bool        isInitialized() const;
    virtual void        initialize(QDesignerFormEditorInterface *core);
};


Code:
cFoldoutPlugin::cFoldoutPlugin( QObject *parent ) : QObject( parent ) {
    initialized = false;
}

void cFoldoutPlugin::initialize(QDesignerFormEditorInterface * /* core */)
{
    MessageBox( 0, 0, 0, 0 ); // ** Для проверки, загрузился ли плагин. Сообщение не появляется :(
    if( initialized )
        return;

    initialized = true;
}

bool cFoldoutPlugin::isInitialized( void ) const {
    return initialized;
}

QWidget *cFoldoutPlugin::createWidget( QWidget *parent ) {
    return new QFoldout( parent );
}

QString cFoldoutPlugin::name( void ) const {
    return QLatin1String( "QFoldout" );
}

QString cFoldoutPlugin::group( void ) const {
    return QLatin1String( "Containers" );
}

QIcon cFoldoutPlugin::icon( void ) const {
    return QIcon();
}

QString cFoldoutPlugin::toolTip( void ) const {
    return "";
}

QString cFoldoutPlugin::whatsThis( void ) const {
    return "";
}

bool cFoldoutPlugin::isContainer( void ) const {
    return false;
}

QString cFoldoutPlugin::includeFile() const {
    return "QFoldout.h";
}

Q_EXPORT_PLUGIN2( QFoldoutPlugin, cFoldoutPlugin ) // ** Может тут я чо-то не то написал?


.pro(переделал файл из примеров)
CONFIG      += designer plugin debug_and_release
TARGET      = $$qtLibraryTarget($$TARGET)
TEMPLATE    = lib
QTDIR_build:DESTDIR     = $$QT_BUILD_TREE/plugins/designer

HEADERS     = QFoldout.h \
              FoldoutPlugin.h
SOURCES     = QFoldout.cpp \
              FoldoutPlugin.cpp

# install
target.path = $$[QT_INSTALL_PLUGINS]/designer
sources.files = $$SOURCES $$HEADERS *.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/designer/customwidgetplugin
INSTALLS += target sources


Потом скармливаю этот .pro qmake, скопировал в папку с плагином nmake & cl запускаю nmake без аргуметов получаю две ошибки:
Цитата
ERROR: cl.exe return code 0xc0000135
ERROR: nmake.exe return code 0x2


Попробовал собрать в студии, закинул туда исходники + moc файлы(то ли qmake сделал, то ли nmake...) - собралось, положил .dll в папку /Qt4.3.0/plugins/designer В результате моего виджета в дизайнере нету :(

Чо делать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ViGOur
  опции профиля:
сообщение 19.3.2008, 9:03
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Взял твои исходники, попробовал скомпилировать и все в порядке, может с QFoldout что-то не так?
Я просто без него компилил как ты понимаешь.

Единственные изменения которые сделал это:
MessageBox(( 0,0,0,0) поменял на QMessageBox::information( 0, "123", "123");
и
return new QFoldout ( parent ); на return new QWidget( parent );

И после копирования плагина в %qtdir%\plugins\designer при открытии QDesigner появляется сообщение: 123.

На всякий случай создал файл проекта, тебе нужно будет только вернуть то, что я указал выше, и добавить в сам проект файлы с QFoldout.
Прикрепленные файлы
Прикрепленный файл  plugins.zip ( 3.71 килобайт ) Кол-во скачиваний: 205
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 4.6.2025, 5:02