Настройка Qtopia Core
Настройка Qtopia Core
При установке Qtopia Core можно указать функции, которые мы хотим устранить, чтобы снизить расход памяти. В состав Qtopia Core входит сотня конфигурируемых функций, каждой из которых соответствует какой-то препроцессорный символ. Например, QT_NO_FILEDIALOG исключает класс QFileDialog из библиотеки QtGui, a QT_NO_I18N удаляет всю поддержку интернационализации. Эти функции перечислены в файле src/corelib/qfeatures.txt.
Qtopia Core содержит пять примеров конфигурации (minimum, small, medium, large и dist), которые находятся в файлах src/corelib/qconfig_xxx.h. Эти конфигурации можно задавать, используя опции —qconfig xxx для скрипта configure, например:
./configure -qconfig small
Для создания пользовательских конфигураций можно вручную создать файл qconfig—xxx.h и использовать его, как будто он определяет стандартную конфигурацию. Можно поступить по-другому — использовать графическую утилиту qconfig, расположенную в подкаталоге Qt tools.
Qtopia Core предоставляет следующие классы для интерфейса с входными и выходными устройствами и для настройки пользовательского интерфейса оконной системы:
• QScreen — драйверы экрана,
• QScreenDriverPlugin — подключаемые модули драйверов экрана,
• QWSMouseHandler — драйверы мышки,
• QMouseDriverPlugin — подключаемые модули драйверов мышки,
• QWSKeyboardHandler — драйверы клавиатуры,
• QKbdDriverPlugin — подключаемые модули драйверов клавиатуры,
• QWSInputMethod — методы ввода,
• QDecoration — стили оформления окон,
• QDecorationPlugin — подключаемые модули стилей оформления окон.
Для получения списка заранее определенных драйверов, методов ввода и стилей оформления экрана запустите скрипт configure с опцией —help.
Драйвер экрана можно задать с помощью опции командной строки —display при запуске сервера Qtopia Core, как это было показано в предыдущем разделе, или путем установки переменной среды QWS_DISPLAY. Драйвер мышки и связанное с ним устройство можно задавать, используя переменную среды QWS_MOUSE_PROTO, значение которой задается в виде тип:устройство, где тип — один из поддерживаемых драйверов, а устройство — путь к устройству (например, QWS_MOUSE_PROTO=IntelliMouse:/dev/mouse). Клавиатуры задаются аналогично при помощи переменной среды QWS_KEYBOARD. Методы ввода и оформления окон устанавливаются программно в сервере при помощи функций QWSServer::setCurrentInputMethod() и QApplication::qwsSetDecoration().
Стили оформления окон можно задавать отдельно от стиля виджетов, который наследует класс QStyle. Например, вполне допускается установить Windows в качестве стиля оформления окон и Plastique в качестве стиля виджетов. При желании для каждого окна можно задавать свой стиль оформления.
Класс QWSServer содержит различные функции по настройке оконной системы. Приложения, функционирующие как сервер Qtopia Core, могут получать доступ к уникальному экземпляру QWSServer через глобальную переменную qwsServer, которую инициализирует конструктор QApplication.
Qtopia Core поддерживает следующие форматы шрифтов: TrueType (TTF), PostScript Type 1, Bitmap Distribution Format (BDF) и Qt Prerendered Fonts (QPF).
Поскольку QPF является растровым форматом, он быстрее и компактнее, чем такие векторные форматы, как TTF и PostScript Туре 1, если требуется использовать только один или два различных размера. Утилита makeqpf позволяет воспринимать файлы TTF или PostScript Туре 1 и сохранять результат в формате QPF. Можно поступить по-другому — запустить наши приложения с опцией командной строки —savefonts.
На момент написания книги компания «Trolltech» разрабатывает дополнительный уровень, расположенный над Qtopia Core и позволяющий еще быстрее и удобнее разрабатывать приложения для встроенных систем. Можно надеяться, что следующее издание данной книги будет содержать больше информации по этому вопросу.