Версия для печати темы
Форум на CrossPlatform.RU _ Qt Общие вопросы _ Не отбражаются SVG иконки.
Автор: RazrFalcon 22.5.2010, 16:27
QtCreator 1.3.1
При запуске из QtCreator все иконки отображаются нормально, но при запуске из "папки" с прогой просто пустые кнопки.
ui->AddButton->setIcon(QIcon("Plus.svg"));
Просто вместе с ехе валяются. пробовал создать файл ресурсов но не могу понять как к нему обратится, и если даже компилируется то все равно иконки не появляются.
Автор: Litkevich Yuriy 22.5.2010, 18:44
Курить здесь: http://wiki.crossplatform.ru/index.php/Развертывание_приложений_Qt_в_MS_Windows
Автор: Гость 22.5.2010, 19:48
Если имеется ввиду QT += svg, то понятно он подключен.
Файлы qsvg4.dll и qsvgicon4.dll есть с ехе только не уверен линкуются они сами или их надо прописать, так как при их отсутствии ошибок нет и прога пашит. Если надо то как именно, насчет .dll не уверен, с .lib понятно как.
В консоли сборки svg есть:
-I"c:\QT\qt\include\QtSvg" , -DQT_SVG_LIB , -lQtSvg4
Из ссылки "dll'ки плагинов Qt" - сами dll копировал - толку 0, каталоги "iconengines" "plugins" "imageformats" тоже добавлял в папку с прогой.
Ну и вечна ошибка в консоли приложения не влияющяя на его работу
Cannot open file 'D:/Additional/Grid/release/Icon.svg', because: ??????? ?? ??????? ????? ????????? ????.
ну и на все svg в том же духе...
Автор: Litkevich Yuriy 23.5.2010, 7:08
Цитата(Гость_RazrFalcon_* @ 22.5.2010, 23:49)
каталоги "iconengines" "plugins" "imageformats" тоже добавлял в папку с прогой.
откуда брал каталог "imageformats"? нужен, тот что от Qt, а не от креатора, они разными компиляторами собраны
Автор: RazrFalcon 23.5.2010, 11:39
Цитата(Litkevich Yuriy @ 23.5.2010, 7:08)
Цитата(Гость_RazrFalcon_* @ 22.5.2010, 23:49)
каталоги "iconengines" "plugins" "imageformats" тоже добавлял в папку с прогой.
откуда брал каталог "imageformats"? нужен, тот что от Qt, а не от креатора, они разными компиляторами собраны
Пробовал из "C:\QT\bin" и оттуда qsvgicon4.dll, qsvg4.dll, qsqlite4.dll, QtSvg4.dll. Но в .pro только QT += svg, может их надо добавить как то.
C:\QT\qt\plugins\iconengines пробовал и C:\QT\qt\plugins\imageformats, но там кстати есть и типа "libqsvg4.a" может их надо сначала подключать?
Кстати пока беру из ресурсов .png и все норм работает, но .svg не из ресурсов или из папки просто, так и не работают, хотя при запуске в креаторе отображаются в любом случае нормально
.
Автор: Litkevich Yuriy 23.5.2010, 15:09
Должно быть так:
1) в .pro-файле QT += svg
2) из C:\QT\bin берёшь QtSvg.dll (для отладочной версии приложения берёшь с буквой d на конце) и кладёшь рядом с exe'шником
2) из C:\QT\qt\plugins\ копируешь каталог imageformats (для начала весь каталог) и кладёшь рядом с exe'шником
3) запускаешь приложение и проверяешь - теперь всё должно работать
Автор: RazrFalcon 23.5.2010, 15:58
Цитата(Litkevich Yuriy @ 23.5.2010, 15:09)
Должно быть так:
1) в .pro-файле QT += svg
2) из C:\QT\bin берёшь QtSvg.dll (для отладочной версии приложения берёшь с буквой d на конце) и кладёшь рядом с exe'шником
2) из C:\QT\qt\plugins\ копируешь каталог imageformats (для начала весь каталог) и кладёшь рядом с exe'шником
3) запускаешь приложение и проверяешь - теперь всё должно работать
1-е сделано иначально
2-е QtSvg.dll тоже добавлял уже, пропадают ошибки типа "Cannot open file ':/Gear.svg', because: Unknown error" и "Cannot open file 'D:/Additional/Grid/release/debug/Icon.svg', because: ??????? ?? ??????? ????? ????????? ????." но иконки перестаю показываться теперь даже в креаторе.
3-е тоже результатов не принесло
Автор: RazrFalcon 23.5.2010, 16:18
Все пашит!!!
Надо просто ui->pushButton->setIcon(QIcon("Icon.svg"));
и из C:\QT\qt\bin берем "QtCore4.dll" "QtGui4.dll" "QtSvg4.dll", правда еще просит "libgcc_s_dw2-1.dll".
И ВСЕ!
Автор: RazrFalcon 24.5.2010, 15:35
Тема снова открыта!
У знакомого, не программиста, без предустановленой QT и всего остального
во-первых запросило mingwm10.dll,
во-вторых так и не показало SVG иконки.
Автор: kwisp 25.5.2010, 7:58
Цитата(RazrFalcon @ 24.5.2010, 16:35)
Тема снова открыта!
http://www.forum.crossplatform.ru/index.php?showtopic=4987&view=findpost&p=34741
Автор: RazrFalcon 25.5.2010, 11:19
Цитата(kwisp @ 25.5.2010, 7:58)
http://www.forum.crossplatform.ru/index.php?showtopic=4987&view=findpost&p=34741
Ну даа... это ведь я и писал =/
Я тему создал просто сначала еще не зарегистрировавшись.
А теперь не пойму почему на ХР не пашит и длл просит.
Автор: Litkevich Yuriy 25.5.2010, 11:22
Цитата(RazrFalcon @ 25.5.2010, 15:19)
длл просит.
потому-что нужна. положи рядом с экзешником и всё
Автор: RazrFalcon 25.5.2010, 11:57
Цитата(Litkevich Yuriy @ 25.5.2010, 11:22)
Цитата(RazrFalcon @ 25.5.2010, 15:19)
длл просит.
потому-что нужна. положи рядом с экзешником и всё
Да дело не длл, понятное дело я ее добавил, проблема в том что иконки исчезли на ХР!
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)