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

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

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: Строковые ресурсы  (Прочитано 18623 раз)
Luck
Гость
« : Февраль 12, 2010, 15:26 »

Здравствуйте.
Есть ли возможность в QT создать строковый ресурс, где будет храниться набор констант типа Char или QString? Если есть, то как?
В гугл не надо отсылать - я довольно-таки долго искал и не нашел (мб, конечно, плохо искал, но я старался Подмигивающий )
Записан
BRE
Гость
« Ответ #1 : Февраль 12, 2010, 15:29 »

Здравствуйте.
Есть ли возможность в QT создать строковый ресурс, где будет храниться набор констант типа Char или QString? Если есть, то как?
Что подразумевается по строковым ресурсом?
Можно текстовый файл в qrc положить и загружать его оттуда куда нибудь в QStringList или QMap<key, QString>.
Записан
Luck
Гость
« Ответ #2 : Февраль 12, 2010, 15:48 »

Такая реализация не подходит (по заданию). Нужен некий аналог resourcestring из делфи. Там вместо QMap<key, QString> есть список ключей и значений. Т.е. считывать в QMap из файла нельзя. Надо чтобы данные брались прямо из ресурса.
Записан
BRE
Гость
« Ответ #3 : Февраль 12, 2010, 15:51 »

Такая реализация не подходит (по заданию). Нужен некий аналог resourcestring из делфи. Там вместо QMap<key, QString> есть список ключей и значений. Т.е. считывать в QMap из файла нельзя. Надо чтобы данные брались прямо из ресурса.
Что такое ресурс? Файл? Коллекция? Кто туда данные заносит?

Можно все записать в .ini файл и брать оттуда по ключу. См: QSettings.
Записан
Luck
Гость
« Ответ #4 : Февраль 12, 2010, 16:07 »

про QSettings я и сам знаю... Но от меня хотят именно строковый ресурс... Что он должен из себя представлять в QT я сам не знаю - потому и спрашиваю
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Февраль 12, 2010, 21:06 »

>>Но от меня хотят именно строковый ресурс
Ты расскажи, что ты под этим подразумеваешь, не зависимо от Qt. Ссылка не Дельфи мне ни о чём не говорит.
Записан

Юра.
SABROG
Гость
« Ответ #6 : Февраль 12, 2010, 21:20 »

про QSettings я и сам знаю... Но от меня хотят именно строковый ресурс... Что он должен из себя представлять в QT я сам не знаю - потому и спрашиваю

Твой строковый ресурс это ini файл помещенный в .qrc файл и QSettings, который читает его из ресурса ":/file.ini"

В Qt нет аналога строкового ресурса как единицы этого ресурса, тут в качестве ресурсов могут выступать только файлы (содержимое которых прикрепляется к .exe'шнику на этапе сборки), а уж чего ты туда запихнешь - твое дело.
Записан
Luck
Гость
« Ответ #7 : Февраль 12, 2010, 21:52 »

про QSettings я и сам знаю... Но от меня хотят именно строковый ресурс... Что он должен из себя представлять в QT я сам не знаю - потому и спрашиваю

Твой строковый ресурс это ini файл помещенный в .qrc файл и QSettings, который читает его из ресурса ":/file.ini"

В Qt нет аналога строкового ресурса как единицы этого ресурса, тут в качестве ресурсов могут выступать только файлы (содержимое которых прикрепляется к .exe'шнику на этапе сборки), а уж чего ты туда запихнешь - твое дело.

Большое спасибо, мне все стало понятно Улыбающийся
Записан
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #8 : Февраль 11, 2011, 16:49 »

Добрый день. Тема конечно устарела, но все таки, мой вопрос похожий.

Цитировать
Можно текстовый файл в qrc положить и загружать его оттуда куда нибудь в QStringList или QMap<key, QString>.

Можно поподробнее как txt файл засунуть в ресурс Qt?

У меня есть файл txt. Он мне нужен только для чтения, чтобы выгружать из него инфу. Но нужно его как то вшить в exe.
Делал через ресурс так:
1. В *.pro записал RESOURCES = файл_ресурс.qrc
2. Файл находится в каталоге res/ , который находиться в каталоге проекта.
3. Файл_ресурс.qrc
Код:
<!DOCTYPE RCC><RCC version='1.0'>
<qresource>
<file>res/файл_ресурс.txt</file>
</qresource>
</RCC>
4. В программе пишу QFile fille(":res/файл_ресурс.txt");
и т.д.

Но пока все описанное не получается.
Записан

Qt 5.11.0, Win, MinGW
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #9 : Февраль 15, 2011, 21:42 »

сам разобрался тут
Записан

Qt 5.11.0, Win, MinGW
richardzorgi
Гость
« Ответ #10 : Май 29, 2011, 12:44 »

Цитировать
Можно поподробнее как txt файл засунуть в ресурс Qt?
У меня есть файл txt. Он мне нужен только для чтения, чтобы выгружать из него инфу. Но нужно его как то вшить в exe.
Делал так: файл->новый файл->файл ресурсов Qt->имя - resource, путь по умолчанию(resource.qrc создаётся там же, где лежит файл .pro )->добавить префикс - ставлю "/", добавить файл - открываю нужный файл (пусть будет 1.txt)->в своей функции(слоте) пишу QString str = ":/1.txt"; в str записывается именно ":/1.txt", а не "E:\\data\\1.txt".

Можно по подробнее, как добавить файл к проекту, чтобы он был привязан к проекту? Вообще нужно чтобы этот файл шёл в .sis (или .exe).


QT Creator, QT версии 4.7.3 (в последних версиях QEmbed убрали)
« Последнее редактирование: Май 29, 2011, 14:41 от richardzorgi » Записан
twp
Гость
« Ответ #11 : Май 30, 2011, 12:14 »

все ресурсы, указанные в qrc-файле, при сборке интегрируются в запускной файл и никаких дополнительных действий не нужно.
Записан
richardzorgi
Гость
« Ответ #12 : Май 30, 2011, 18:45 »

Ок, а как выполнить чтение из текстового файла, помещенного в ресурсы?
Записан
twp
Гость
« Ответ #13 : Май 30, 2011, 19:08 »

сам не пробовал, но по идее так же как и файл на диске: QFile + QTextStream. Единственное что нужно открывать с флагом QIODevice::ReadOnly
Записан
richardzorgi
Гость
« Ответ #14 : Май 30, 2011, 20:18 »

сам не пробовал, но по идее так же как и файл на диске: QFile + QTextStream. Единственное что нужно открывать с флагом QIODevice::ReadOnly
да, по идее так, пробовал использовать qfile, qtextstream методом тыка, с помощью документации. Пока без успешно. Там ещё вроде надо подключать <qresource>, инициализировать ресурсы... Пойду попробую ещё...
Записан
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


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