Название: Ресурсы Отправлено: darkmacho от Ноябрь 26, 2008, 13:07 Всем привет
Вопрос по release версии:Если скомпилировать в release там что рядом с exe файлом должны быть ресурсы что ли?Я вот написал там вывод gif анимации и теперь эта картинака должна лежать в одной папке? Название: Re: Ресурсы Отправлено: EhTemka от Ноябрь 26, 2008, 18:58 Если вы gif добавили в файл ресурсов в проекте, то не надо.
А если нет, то от куда вы загружаете этот gif, там он и должен лежать. Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 26, 2008, 19:52 А в СТУДИИ можно добавлять только bmp,toolbar,dialog а как добавить gif ?
Название: Re: Ресурсы Отправлено: pastor от Ноябрь 26, 2008, 20:18 Куда добавить? В какие ресурсы, судийные или Qt?
Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 26, 2008, 20:47 ну в студии же можно добавлять что то в проект new items,resource и вот там ресурсы добавлять можно bmp,toolbar и т. д.
Название: Re: Ресурсы Отправлено: pastor от Ноябрь 26, 2008, 21:08 Какое отношение это имеет к Qt?
Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 27, 2008, 11:58 я создал qt проект открыл его в СТУДИИ и как в этот проект добавить ресурс? Ну я подумал в СТУДИИ есть ПРОЕКТ->ДОбавить РЕСУРС-> так не получается! А как добавить то
Название: Re: Ресурсы Отправлено: EhTemka от Ноябрь 27, 2008, 12:07 В проекте должен быть файл с расширением qrc (скорее всего <Имя файла главного окна>.qrc). Открываешь его в студии и по правой клавише пункт "Add File...".
Доступ к файлу ресурса - ":/<какой-то Prefix>/<имя файла>" Название: Re: Ресурсы Отправлено: Пантер от Ноябрь 27, 2008, 12:35 В проекте должен быть файл с расширением qrc (скорее всего <Имя файла главного окна>.qrc). Открываешь его в студии и по правой клавише пункт "Add File...". <Имя файла главного окна>.qrc -> <Имя файла проекта>.qrc, хотя можно назвать как угодно. Главное в pro файл добавить строчку RESOURCES = <имя>.qrcДоступ к файлу ресурса - ":/<какой-то Prefix>/<имя файла>" Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 27, 2008, 13:16 например у меня есть на диске C:\avat -папка проекта я его добавил в студию в этой папке нахожу avat.pro файл добавляю строчку RESOURCES =rc.qrc в блокноте создаю rc.qrc добавляю в проект. Gif катинка - C:\ee.gif в файле rc.qrc пишу c:\ee.gif Я правильно понял???
Название: Re: Ресурсы Отправлено: EhTemka от Ноябрь 27, 2008, 14:53 Если ты работаешь в студии то
Цитировать Открываешь его в студии и по правой клавише пункт "Add File...". Его - это rc.qrc. Название: Re: Ресурсы Отправлено: Eugene Efremov от Ноябрь 27, 2008, 15:23 например у меня есть на диске C:\avat -папка проекта я его добавил в студию в этой папке нахожу avat.pro файл добавляю строчку RESOURCES =rc.qrc в блокноте создаю rc.qrc добавляю в проект. Gif катинка - C:\ee.gif в файле rc.qrc пишу c:\ee.gif Я правильно понял??? Неправильно. Пишу по шагам: 1. Копируешь gif в C:\avat\img\. 2. Создаешь в C:\avat\ файл с расширением qrc (например avat.qrc) и следующим содержимым: Код На всякий случай: буковки XML в первую строчку кода добавил форум. Их в qrc-файл писать не надо. :) 3. Таки да, добавляешь строчку «RESOURCES = avat.qrc» в pro-файл. 4. После этого внутри программы рисунок будет доступен как ":img/ee.gif". Всё. Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 27, 2008, 18:13 Все делал как написано(":img/ee.gif" заменил на это "img/ee.gif") Когда компилирую gif показывает а как захожу так c:\avat\release\avat.exe не работает.Если скопировать этот экзешник в c:\avat где папка img то работает.Значит всегда img с собой надо тащить что ли?
Название: Re: Ресурсы Отправлено: Eugene Efremov от Ноябрь 27, 2008, 18:29 Все делал как написано(":img/ee.gif" заменил на это "img/ee.gif") Когда компилирую gif показывает а как захожу так c:\avat\release\avat.exe не работает.Если скопировать этот экзешник в c:\avat где папка img то работает.Значит всегда img с собой надо тащить что ли? А вот не надо было менять ":img/ee.gif" на "img/ee.gif". Первый вариант (начинается с ':') указывает на ресурс внутри экзешника. Второй (без ':') — на путь к файлу, вычисляемый относительно текущей директории. Т.е. — работающий именно так, как ты описал. Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 27, 2008, 19:16 Но так вообще не находит
Код
Пустое окно Название: Re: Ресурсы Отправлено: ритт от Ноябрь 27, 2008, 19:25 :/img/ee.gif
Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 27, 2008, 19:30 так тоже не выходит
Название: Re: Ресурсы Отправлено: ритт от Ноябрь 27, 2008, 19:43 чушь какую-то городишь...
прикладывай архив с проектом Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 27, 2008, 19:51 ....
Название: Re: Ресурсы Отправлено: ритт от Ноябрь 27, 2008, 21:02 и? всё работает. проблема-то в чём?
Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 28, 2008, 08:06 у меня выходит пустое окно! :(
Название: Re: Ресурсы Отправлено: EhTemka от Ноябрь 28, 2008, 11:12 Тут дело не в ресурсах.
Qt Assistant Цитировать To configure Qt with GIF support, pass -qt-gif to the configure script or check the appropriate option in the graphical installer. Возможно дело в этом Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 28, 2008, 12:23 А как это исправить?
Название: Re: Ресурсы Отправлено: Пантер от Ноябрь 28, 2008, 12:36 Пересобрать Qt с этой опцией.
Только с начала попробуй заменить gif на png, чтобы быть точно уверенным. Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 28, 2008, 14:08 Я заменил QMovie mov(":img/ee.gif");
на QMovie mov(":img/ee.mng"); и в папке img заменил на ee.mng Все равно не показывает Название: Re: Ресурсы Отправлено: pastor от Ноябрь 28, 2008, 16:31 Все равно не показывает Какая версия Qt? Покажи содержимое файла QTDIR/configure.cache Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 28, 2008, 17:13 Как я понимаю QTDIR- это директория где расположена библиот.qt но этот файл пуст!!!
Название: Re: Ресурсы Отправлено: EhTemka от Ноябрь 28, 2008, 19:13 Я заменил QMovie mov(":img/ee.gif"); на QMovie mov(":img/ee.mng"); и в папке img заменил на ee.mng Все равно не показывает Что значит заменил на ee.mng. Ты случаем не расширение отредактировал? Возьми другой какой-нибуть png файл Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 28, 2008, 20:12 Нет просто взял одну картинку mng переименовал еЁ в ee.mng скопировал в img
Название: Re: Ресурсы Отправлено: Пантер от Ноябрь 28, 2008, 20:21 Попробуй все таки png, т.к. mng тоже может не поддерживаться.
Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 28, 2008, 20:29 Результат такой же
Может у меня ошибка вот текст avat.cpp Код
файл rc.qrc Код
файл avat.pro Код
Ну как? Пользуемся тэгом код. Название: Re: Ресурсы Отправлено: Пантер от Ноябрь 28, 2008, 20:43 Какой дистрибутив Qt? Как устанавливал?
Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 28, 2008, 20:49 ...
qt-win-opensource-src-4.4.3 Название: Re: Ресурсы Отправлено: Пантер от Ноябрь 28, 2008, 20:50 Перекомпилируй. В Wiki есть руководство, там все нормально расписано.
Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 29, 2008, 06:32 А вот как со старой быть удалить QTDIR и все?
Название: Re: Ресурсы Отправлено: Пантер от Ноябрь 29, 2008, 13:22 Не трогай. Ее и перекомпилируй.
Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 29, 2008, 14:29 но каак? я ж до этого по этому http://symmetrica.net/qt4/qt-win.htm устанавливал
а можно так же но при configure.exe –platform win32-msvc200x так же доюавить и другие настройки Название: Re: Ресурсы Отправлено: Пантер от Ноябрь 29, 2008, 15:52 Нужно!
configure.exe --help и в путь. Название: Re: Ресурсы Отправлено: darkmacho от Ноябрь 29, 2008, 16:44 Перекомпилировал не работает!
Хотел еще спросить, но решил попробовать снова. взял папку c:\gaga туда скопировал cpp файл и rc.qrc .Запустил qmake и т.д. Открываю файл проекта а там все готово -resource файлы -source файлы -generated файлы (до была папка только source файлов) в generated лежит файл qrc_rc.cpp в resource : ee.gif и rc.qrc в source : gaga.cpp Все работает спасибо всем кто ответил Название: Re: Ресурсы Отправлено: kolob от Февраль 11, 2011, 15:42 Добрый день. не хотелось бы начинать новую тему, вопрос похожий. По форуму поиск ни чего не дал. Мне нужно запихнуть в exe файл txt. В файле находиться список. В программе нужно открыть этот файл и дальше обрабатывать по назначению. Я бы конечно мог его с собой таскать. Но требуется что бы программа было 1м файлом. Пока что думаю только про файл ресурсов, но что то не очень получается.
Подскажите у кого какие идеи по этому поводу. Или может есть уже готовые решения? Название: Re: Ресурсы Отправлено: Пантер от Февраль 11, 2011, 15:46 Как пробуешь и что не получается?
Название: Re: Ресурсы Отправлено: kolob от Февраль 11, 2011, 16:56 У меня есть файл txt. Он мне нужен только для чтения, чтобы выгружать из него инфу. Но нужно его как то вшить в exe.
Делал через ресурс так: 1. В *.pro записал RESOURCES = файл_ресурс.qrc 2. Файл находится в каталоге res/ , который находиться в каталоге проекта. 3. Файл_ресурс.qrc Код: <!DOCTYPE RCC><RCC version='1.0'> и т.д. Но пока все описанное не получается. Название: Re: Ресурсы Отправлено: Пантер от Февраль 11, 2011, 17:22 Что не получается??? Ты можешь нормально написать? Файл не открывается? Файл не читается? Не компилируется?
Название: Re: Ресурсы Отправлено: kolob от Февраль 11, 2011, 18:45 Файл не открывается
Название: Re: Ресурсы Отправлено: Пантер от Февраль 11, 2011, 19:19 Давай дальше поиграем в телепатов. Какую ошибку выдает?
Название: Re: Ресурсы Отправлено: kolob от Февраль 11, 2011, 19:33 Извините. Ошибку не знаю какую выдает. Через qDebug можно узнать ошибку?
Название: Re: Ресурсы Отправлено: Пантер от Февраль 11, 2011, 19:41 bool QFileInfo::exists () const что на него говорит?
Название: Re: Ресурсы Отправлено: Пантер от Февраль 11, 2011, 20:34 Попробуй сделать QFile fille("qrc:res/файл_ресурс.txt"); надеюсь, кириллица только для примера?
Название: Re: Ресурсы Отправлено: kolob от Февраль 11, 2011, 20:42 Да, для примера. Хорошо попробую.
Название: Re: Ресурсы Отправлено: kolob от Февраль 13, 2011, 13:56 Цитировать bool QFileInfo::exists () const что на него говорит? возвращает falseЦитировать QFile fille("qrc:res/файл_ресурс.txt"); не открывает.Название: Re: Ресурсы Отправлено: Пантер от Февраль 13, 2011, 15:30 QFile fille(":/res/файл_ресурс.txt"); попробуй.
Название: Re: Ресурсы Отправлено: kolob от Февраль 13, 2011, 18:44 Цитировать QFile fille(":/res/файл_ресурс.txt"); попробуй. И так тоже не получается.Название: Re: Ресурсы Отправлено: Пантер от Февраль 14, 2011, 08:44 Ну, давай минимальный компилябельный пример.
Название: Re: Ресурсы Отправлено: kolob от Февраль 14, 2011, 09:16 Файл ресурсов:
Код: <!DOCTYPE RCC><RCC version='1.0'> Файл *.pro: Код: TEMPLATE = app Вот как пытаюсь открыть: Код: QFile file(":/res/operator.txt"); Название: Re: Ресурсы Отправлено: Пантер от Февраль 14, 2011, 10:28 Фигасе. Ты пытаешься открыть на запись файл из ресурсов? Суров ты, братец. ;)
Название: Re: Ресурсы Отправлено: kolob от Февраль 14, 2011, 10:39 Вот черт, я тупиццццааа!!! ;D Вот бл невнимательность.
Название: Re: Ресурсы Отправлено: Пантер от Февраль 14, 2011, 10:40 На всякий случай, вот примерчик для тебя накидал.
Название: Re: Ресурсы Отправлено: kolob от Февраль 14, 2011, 17:45 Да, что то у меня не то...
Вот ошибка Цитировать QFile::open: Invalid filename specified Error А то что у меня Qt 3 это не как не влияет. Я что то в ассистенте ни одного упоминания про файлы *.qrc не нашел. ----------------------------- Изменил Ваш код с 4 на 3ю и вот она ошибка такая же как у меня! Название: Re: Ресурсы Отправлено: GreatSnake от Февраль 14, 2011, 17:50 Цитировать А то что у меня Qt 3 это не как не влияет. Что же ты над Пантер издеваешься? :)В Qt3 нет такой поддержки. Название: Re: Ресурсы Отправлено: kolob от Февраль 14, 2011, 19:12 ну извините меня тогда,особенно Пандер. Зато какой опыт на будущее получил.А как же быть тогда в 3й.подскажите,очень очень надо:(
Название: Re: Ресурсы Отправлено: GreatSnake от Февраль 14, 2011, 19:31 Ну дык возьми и вкомпили свой *.txt. Делов-то.
Название: Re: Ресурсы Отправлено: kolob от Февраль 14, 2011, 19:42 что то типа include ''file.txt'' ? Или как? Я уже запутал.
Название: Re: Ресурсы Отправлено: GreatSnake от Февраль 14, 2011, 19:50 Простым include не получится.
Нужно написать скрипт/программку, которая из этого файла сделала бы файл с массивом символов. Типа static const char txt[] = { '\x41', '\x42', '\x43' }; И уже это сконвертнутый файл инклюдить. Название: Re: Ресурсы Отправлено: kolob от Февраль 16, 2011, 23:17 Всем огромное спасибо! Все получилось. :)
|