Название: Создание пользовательского виджета в Qt Creator Отправлено: ManOfOrange от Август 29, 2010, 20:27 Господа, мне требуется создать пользовательский виджет. Но с ним возникают проблемы.
Долго и тщательно я читал Бланшетт и Соммерфилд (и Шлее), документацию, перевод документации, http://wiki.metrotek.spb.ru/wiki/Учим_Qt_новым_трюкам (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 (http://www.metrotek.spb.ru/files/sources/qt-widgets-article.zip) .pro-файл: Код: TARGET = widget-plugin Остальные файлы не буду выкладывать, чтобы не загромождать - если есть необходимость, выложу. При сборке в 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. Если подскажете, как сделать нормальные ссылки буду очень благодарен Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Пантер от Август 29, 2010, 20:35 Замени
Код: QMAKE_POST_LINK = cp \ Код: QMAKE_POST_LINK = xcopy \ Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: ManOfOrange от Август 29, 2010, 21:17 Попробовал, как вы сказали.
Теперь всё собирается, но плагин не появляется. В Инструментах->редактор форм->о модулях следующее: (http://img-fotki.yandex.ru/get/4506/lenvampir.0/0_46ba5_f8ef7c7f_XL) Означает, что мне необходим более поздний Qt Creator? Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: ManOfOrange от Август 29, 2010, 23:05 Попробовал на Qt 4.6.3, Qt Creator 1.3.1, теперь выводит это:
(http://img-fotki.yandex.ru/get/4602/lenvampir.0/0_46beb_e519776_XXL) Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Авварон от Август 29, 2010, 23:18 тему не читал, но рискну предположить что ошибка в том, что креатор собран студией, а ваш плагин mingw. Такой вопрос регулярно возникает:)
проверьте плагин во внешнем дизайнере (он собран также mingw) - если там заработает, то всё ок, и надо просто собрать плагин студией Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: ManOfOrange от Август 29, 2010, 23:44 О! Интересно! В Designer'е действительно пользовательский спинбокс виден... Спасибо!
Пойду искать, как собирать плагин студией. Доп вопрос: логично предположить, что можно и Creator собрать mingw? Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Авварон от Август 29, 2010, 23:48 да, теоретически можно:)
Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: ManOfOrange от Август 30, 2010, 00:09 Слово "теоретически" наводит на нехорошие мысли...
Не могли бы вы подсказать, как собрать плагин студией? Был бы премного благодарен ;-) Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Авварон от Август 30, 2010, 01:00 ну практических попыток собрать креатор мингвой я не видел. Хотя сложностей быть не должно.
для сборки надо поставить либы студии+кумейк и прогнать *.pro файл им, а дальше nmake (ну либо в креаторе указываете нужный профиль) Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Пантер от Август 30, 2010, 06:16 Креатор очень легко собирается MinGW'ом. qmake && make и все.
Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: lit-uriy от Август 30, 2010, 06:26 >>Креатор очень легко собирается MinGW'ом.
+1, раз в неделю собираю из мастера Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Sancho_s_rancho от Август 30, 2010, 06:51 >>Креатор очень легко собирается MinGW'ом. А в чем смысл собирать самому, ежели все, что не проваливается на тестах они собирают сами и кладут : ftp://ftp.qt.nokia.com/qtcreator/snapshots/ +1, раз в неделю собираю из мастера Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: lit-uriy от Август 30, 2010, 07:33 в том-то и дело, что у них почему-то периодически не собирается версия, например, под виндовоз.
А у меня всё собирается. Может робот у них крив. Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Sancho_s_rancho от Август 30, 2010, 10:18 в том-то и дело, что у них почему-то периодически не собирается версия, например, под виндовоз. Есть рассылка по qt-creator, там как раз спрашивали, почему чуть ли не месяц сборок под Windows не выкладывалось. Кутешники ответили, что выкладывается только то, что проходит их автотесты.А у меня всё собирается. Может робот у них крив. Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: ManOfOrange от Август 30, 2010, 17:35 Пантер, lit-uriy, не могли бы вы подробнее рассказать, как собрать Qt Creator с помощью mingw? Желательно, наиболее простой вариант, но точно надёжный :-)
Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Пантер от Август 30, 2010, 17:36 qmake && make
Как еще подробнее? Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: ManOfOrange от Август 30, 2010, 19:25 Где это написать? В командной строке? В какой директории, какому .exe...
Просто, я это не понимаю Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Пантер от Август 30, 2010, 20:11 Качаешь и распаковываешь исходники Креатора, запускаешь консоль, переходишь в распакованный каталог и делаешь qmake && make, ждешь от 30 минут до 2 часов (зависит от машины) и получаешь собранный Креатор.
Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Sancho_s_rancho от Август 30, 2010, 20:53 Качаешь и распаковываешь исходники Креатора, запускаешь консоль, переходишь в распакованный каталог и делаешь qmake && make, ждешь от 30 минут до 2 часов (зависит от машины) и получаешь собранный Креатор. или make -j4 и ждешь минут 10. За 30 минут у меня собирается Qt 4.7 с вебкитом, фононом и декларативом.Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Пантер от Август 30, 2010, 20:57 Везет... У меня часа 2 примерно Кьют собирается.
Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Sancho_s_rancho от Август 30, 2010, 21:24 Везет... У меня часа 2 примерно Кьют собирается. Что-то долго. Может ЭВМ обновить?Сейчас склонировал репозиторий qt-creator и собрал ветку master (туда уже всякий qt quick засунут) с Qt 4.7.0-rc (была собрана ранее). Сборка (ОС Линукс) со всеми плагинами заняла девять с половиной минут. А у меня бюджетная тачка, купленная более года назад: Phenom II x3 2.6 Ггц, 2 Гб DDR3 (1066 Мгц). Мамки для AMD относительно дешевые; процессоры, с отключенным одним ядром - тоже. Плюс запас на будущее есть - всегда можно выкинуть трехядерный и воткнуть 4-6 ядерный с частотой более 3-х Ггц. Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Пантер от Август 30, 2010, 21:33 Ну, у нас не так круто...
Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: lit-uriy от Август 30, 2010, 22:29 Добавлю:
Если сборка в виндовозе, ту нужно запускать командную строку с настроенным окружением. Если Qt ставил из установщика, то обычно в кнопке "пуск" можно найти командную строку Qt. Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: ManOfOrange от Август 31, 2010, 13:59 Огромное спасибо за помощь! Поставил Qt 4.7.0-rc1, собрал с его помощью qt-creator-2.0.1-src/
Виджет (ура!) встроился в Qt Creator. Но! При простейшей пробе - новый проект, создал форму, вытянул на неё свой виджет - проект не собирается. Если просто запустить, то выдаёт: (http://img-fotki.yandex.ru/get/4508/lenvampir.0/0_46d81_385f67a0_XL) Если же добавить в PRO-файл следующее (по аналогии с "Учим Qt новым трюкам): Код: INCLUDEPATH += $$(QT_PLUGIN_PATH)/designer То выдаёт следующее: Код: undefined reference to 'DiagramRapid::DiagramRapid(QWidget*)' mainwindow.cpp (http://img-fotki.yandex.ru/get/4605/lenvampir.0/0_46d82_735cb5c_XL) Как заставить виджет работать? Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: Пантер от Август 31, 2010, 15:35 А свой плугин пересобрал с Qt 4.7.0-rc1?
Название: Re: Создание пользовательского виджета в Qt Creator Отправлено: ManOfOrange от Сентябрь 03, 2010, 21:34 Да, именно с ней
|