04 QStringList args = app.arguments;
05 QString path = QDir::currentPath;
06 if (args.count > 1)
07 path = args[1];
08 cout << "Space used by images in " << qPrintable(path)
09 << " and its subdirectories is "
10 << (imageSpace(path) / 1024) << " KB" << endl;
11 return 0;
12 }
Мы используем функцию
Класс
Ресурсы, внедренные в исполняемый модуль
До сих пор в этой главе мы говорили о доступе к данным, которые находятся на внешних устройствах, но в Qt можно также внедрять двоичные данные или текст в исполняемый модуль приложения. Это обеспечивается ресурсной системой Qt. В других главах мы использовали файлы ресурсов для внедрения файлов изображений в исполняемый модуль, однако внедрять можно любой файл. Читать внедренные файлы можно с использованием
Ресурсы преобразуются в программный код С++ ресурсным компилятором Qt
RESOURCES = myresourcefile.qrc
Файл
Допустим, создается приложение, которое сохраняет подробную контактную информацию. Ради удобства пользователей мы хотим внедрить международные телефонные коды в исполняемый модуль. Если файл находится в подкаталоге
В приложении ресурсы опознаются по префиксу пути
Преимуществом внедрения данных в исполняемый модуль является невозможность их потери и возможность создания действительно автономных исполняемых модулей (если использовалась статическая компоновка). Двумя недостатками являются необходимость замены всего исполняемого модуля при изменении внедренных данных и увеличение размера исполняемого модуля из-за дополнительного расхода памяти под внедренные данные.
Ресурсная система Qt обладает дополнительными возможностями, которые не представлены в этом примере, включая поддержку псевдонимов файлов и локализацию. Информацию по этим возможностям можно найти на веб-странице http://doc.trolltech.com/4.1/resources.html
Связь между процессами
Класс
Мы кратко рассмотрим программный код небольшого приложения, обеспечивающего интерфейс пользователя для внешней программы преобразования изображений. В нашем случае мы используем программу
Интерфейс пользователя приложения Image Converter (конвертор изображений) был создан при помощи
01 #ifndef CONVERTDIALOG_H
02 #define CONVERTDIALOG_H
03 #include
04 #include
05 #include "ui_convertdialog.h"
06 class ConvertDialog : public QDialog,