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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Создание пользовательского виджета в Qt Creator  (Прочитано 22319 раз)
ManOfOrange
Гость
« : Август 29, 2010, 20:27 »

Господа, мне требуется создать пользовательский виджет. Но с ним возникают проблемы.
Долго и тщательно я читал Бланшетт и Соммерфилд (и Шлее), документацию, перевод документации, http://wiki.metrotek.spb.ru/wiki/Учим_Qt_новым_трюкам - вот эту статью (на которую возлагал большие надежды). А также много тем на этом форуме, но я так и не смог решить проблему.

Итак, у меня Windows 7, стоит Qt 4.5.3 (c minGW), Qt Creator 1.2.1. Прочие проекты работают, запускаются, собираются.

В переменные среды прописано: path: C:\Qt\4.5.3\bin;C:\MinGW\bin; QT_PLUGIN_PATH: C:\Qt\qtcreator-1.2.1\bin

Файлы и порядок действий беру из вышеупомянутой статьи - сейчас хочу хоть как-нибудь сделать пользовательский виджет. Файлы лежат здесь в widget-plugin - http://www.metrotek.spb.ru/files/sources/qt-widgets-article.zip

.pro-файл:

Код:
TARGET = widget-plugin
TEMPLATE = lib
CONFIG += designer \
    plugin
DESTDIR = $$(QT_PLUGIN_PATH)/designer
SOURCES += customspin.cpp \
    customspinplugin.cpp
HEADERS += customspin.h \
    customspinplugin.h
RESOURCES += widget-plugin.qrc
FORMS += customspin.ui
QMAKE_POST_LINK = cp \
    customspin.h \
    $(DESTDIR)

Остальные файлы не буду выкладывать, чтобы не загромождать - если есть необходимость, выложу.

При сборке в release вывод компилятора:

Creating library file: c:\Qt\qtcreator-1.2.1\bin\designer\libwidget-plugin.a
process_begin: CreateProcess((null), cp customspin.h "c:\Qt\qtcreator-1.2.1\bin\designer ", ...) failed.
make (e=2): Не удается найти указанный файл.
mingw32-make.exe[1]: *** [c:\Qt\qtcreator-1.2.1\bin\designer\widget-plugin.dll] Error 2
C:\MinGW\bin\mingw32-make.exe: *** [release] Error 2
Завершено с кодом возврата 2.
Ошибка во время сборки проекта widget-plugin
Во время выполнения сборки на этапе 'Make'

Огромная просьба, подсказать, что может быть не так. Если есть возможность (и время), выложить какой-нибудь простейший виджет с пошаговой инструкцией установки...

Заранее спасибо.

P.S. Если подскажете, как сделать нормальные ссылки буду очень благодарен
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Август 29, 2010, 20:35 »

Замени
Код:
QMAKE_POST_LINK = cp \
    customspin.h \
    $(DESTDIR)
на
Код:
QMAKE_POST_LINK = xcopy \
    customspin.h \
    $(DESTDIR)
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ManOfOrange
Гость
« Ответ #2 : Август 29, 2010, 21:17 »

Попробовал, как вы сказали.
Теперь всё собирается, но плагин не появляется.

В Инструментах->редактор форм->о модулях следующее:


Означает, что мне необходим более поздний Qt Creator?
Записан
ManOfOrange
Гость
« Ответ #3 : Август 29, 2010, 23:05 »

Попробовал на Qt 4.6.3, Qt Creator 1.3.1, теперь выводит это:
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #4 : Август 29, 2010, 23:18 »

тему не читал, но рискну предположить что ошибка в том, что креатор собран студией, а ваш плагин mingw. Такой вопрос регулярно возникает:)
проверьте плагин во внешнем дизайнере (он собран также mingw) - если там заработает, то всё ок, и надо просто собрать плагин студией
Записан
ManOfOrange
Гость
« Ответ #5 : Август 29, 2010, 23:44 »

О! Интересно! В Designer'е действительно пользовательский спинбокс виден... Спасибо!
Пойду искать, как собирать плагин студией.

Доп вопрос: логично предположить, что можно и Creator собрать mingw?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #6 : Август 29, 2010, 23:48 »

да, теоретически можно:)
Записан
ManOfOrange
Гость
« Ответ #7 : Август 30, 2010, 00:09 »

Слово "теоретически" наводит на нехорошие мысли...

Не могли бы вы подсказать, как собрать плагин студией? Был бы премного благодарен ;-)
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #8 : Август 30, 2010, 01:00 »

ну практических попыток собрать креатор мингвой я не видел. Хотя сложностей быть не должно.
для сборки надо поставить либы студии+кумейк и прогнать *.pro файл им, а дальше nmake (ну либо в креаторе указываете нужный профиль)
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #9 : Август 30, 2010, 06:16 »

Креатор очень легко собирается MinGW'ом. qmake && make и все.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #10 : Август 30, 2010, 06:26 »

>>Креатор очень легко собирается MinGW'ом.
+1, раз в неделю собираю из мастера
Записан

Юра.
Sancho_s_rancho
Гость
« Ответ #11 : Август 30, 2010, 06:51 »

>>Креатор очень легко собирается MinGW'ом.
+1, раз в неделю собираю из мастера
А в чем смысл собирать самому, ежели все, что не проваливается на тестах они собирают сами и кладут : http://ftp://ftp.qt.nokia.com/qtcreator/snapshots/  
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #12 : Август 30, 2010, 07:33 »

в том-то и дело, что у них почему-то периодически не собирается версия, например, под виндовоз.
А у меня всё собирается.
Может робот у них крив.
Записан

Юра.
Sancho_s_rancho
Гость
« Ответ #13 : Август 30, 2010, 10:18 »

в том-то и дело, что у них почему-то периодически не собирается версия, например, под виндовоз.
А у меня всё собирается.
Может робот у них крив.
Есть рассылка по qt-creator, там как раз спрашивали, почему чуть ли не месяц сборок под Windows не выкладывалось. Кутешники ответили, что выкладывается только то, что проходит их автотесты.
Записан
ManOfOrange
Гость
« Ответ #14 : Август 30, 2010, 17:35 »

Пантер, lit-uriy, не могли бы вы подробнее рассказать, как собрать Qt Creator с помощью mingw? Желательно, наиболее простой вариант, но точно надёжный :-)
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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