Компилятор ресурсов RCC

   
На этом шаге рассмотрим компилятор ресурсов RCC.

   
Почти любая программа так или иначе обращается сторонним ресурсам, таким как растровые изображения, файлы перевода и т. д. Это не является достаточно надежным и эффективным способом, т. к. эти ресурсы могут быть удалены или недоступны по каким-либо другим причинам. Это, несомненно, может отразиться на правильной работе программы, ее внешнем облике и работоспособности.

   
Компилятор ресурсов предоставляет возможность внедрения таких файлов в исполняемые модули, для того чтобы приложение получало доступ к требуемым ресурсам в процессе его исполнения. Существуют специальные соглашения об именовании, благодаря которым можно однозначно обращаться к таким ресурсам.

   
Все необходимые для использования файлы (ресурсы) должны быть описаны в специальном файле с расширением qrc (Qt Resource Collection, коллекция ресурсов Qt) вместе с их путями. Это описание выполняется в нотации XML. Например:

 <!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>images/open.png</file>
<file>images/quit.png</file>
</qresource>
</RCC>

   
Файл примера будет подвергнут анализу компилятором ресурсов — утилитой rcc, для создания из файлов open.png и quit.png одного исходного файла C++, содержащего все их данные, которые будут компилироваться и компоноваться вместе с остальными файлами проекта. Все данные ресурса хранятся в файле C++ в виде одного большого массива.

   
Такой подход дает уверенность в том, что необходимые ресурсы всегда доступны, что поможет избежать проблем неправильной установки необходимых для исполняемой программы файлов. Сам же qrc-файл должен быть указан в pro-файле в секции RESOURCES, для того чтобы утилита qmake учла информацию из файла ресурса. Например:

 RESOURCES = images.qrc

   
Для того чтобы воспользоваться растровым изображением, предоставленным файлом open.png, можно поступить следующим образом:

 plbl->setPixmap(QPixmap(":/images/open.png"));

   
На следующем шаге рассмотрим структуру Qt-проекта.

Предыдущий шаг
Содержание
Следующий шаг



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий