QT 4: программирование GUI на С++ - [8]

Шрифт
Интервал

Использование справочной документации

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

Эта документация имеется в формате HTML (каталог doc/html в системе Qt), и ее можно просматривать любым веб-браузером. Вы можете также использовать программу Qt Assistant (помощник Qt) — браузер системы помощи в Qt, который обладает мощными средствами поиска и индексирования информации и поэтому быстрее находит нужную информацию и им легче пользоваться, чем веб-браузером. Для запуска Qt Assistant необходимо выбрать функцию Qt by Trolltech v4.x.y | Assistant в меню Start (пуск) системы Windows, задать команду assistant в системе Unix или дважды щелкнуть по Assistant в системе Mac OS X Finder.

Рис. 1.7. Просмотр документации Qt программой Qt Assistant в системе Mac OS X.

Ссылки в разделе «API Reference» (ссылки программного интерфейса) домашней страницы обеспечивают различные пути навигации по классам Qt. На странице «All Classes» (все классы) приводится список всех классов программного интерфейса Qt. На странице «Main Classes» (основные классы) перечисляются только наиболее используемые классы Qt. Например, вы можете просмотреть классы и функции, использованные нами в этой главе.

Следует отметить, что описание наследуемых функций приводится в базовом классе: например, класс QPushButton не имеет описания функции show(), но это описание имеется в родительском классе QWidget. На рис. 1.8 показана взаимосвязь классов, которые использовались в этой главе.

Рис. 1.8. Дерево наследования для классов, используемых в данной главе.

Справочная документация для текущей версии Qt и нескольких более старых версий можно найти в сети Интернет по адресу http://doc.trolltech.com/. На этом сайте также находятся избранные статьи из журнала Qt Quarterly (Ежеквартальное обозрение по средствам разработки Qt); этот журнал предназначается для программистов Qt и распространяется по всем коммерческим лицензиям.

В данной главе представлены ключевые концепции связи сигналов и слотов и компоновки графических элементов. Здесь также начал раскрываться последовательный и полностью объектно—ориентированный подход к конструированию и применению виджетов. Если вы просмотрите документацию Qt, то обнаружите, что в ней применяется единый подход, позволяющий легко понять способы применения новых виджетов; вы также обнаружите, что тщательный подбор в Qt имен функций, параметров, элементов перечислений и т.д. делает удивительно приятным и простым программирование в Qt.

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

Стили виджетов

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

Рис. 1.9. Различные стили вывода графических элементов.

В Qt/X11 и Qtopia Core по умолчанию используется стиль Plastique, который применяет плавные переходы цветов и подавление помех спектрального наложения для обеспечения современного интерфейса пользователя. Пользователи приложений Qt могут переопределять принятый по умолчанию стиль, используя опцию —style в команде запуска приложения. Например, для запуска приложения Age со стилем Motif в X11 необходимо просто задать команду

>./age -style motif

в командной строке.

Рис. 1.10. Зависимые от платформы стили.

В отличие от других, стили систем Windows XP и Mac доступны только на «родных» платформах, поскольку они реализованы на базе присущих только данной платформе механизмов работы.

Глава 2. Создание диалоговых окон

В данной главе вы научитесь создавать диалоговые окна с использованием средств разработки Qt. Диалоговые окна предоставляют пользователю возможность задавать необходимые значения параметров и выбирать определенные режимы работы. Они называются диалоговыми окнами или просто «диалогами» (dialogs), поскольку представляют собой средство, с помощью которого пользователи и приложения могут «переговариваться» друг с другом.

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


Рекомендуем почитать
Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Геймдизайн. Рецепты успеха лучших компьютерных игр от Super Mario и Doom до Assassin’s Creed и дальше

Что такое ГЕЙМДИЗАЙН? Это не код, графика или звук. Это не создание персонажей или раскрашивание игрового поля. Геймдизайн – это симулятор мечты, набор правил, благодаря которым игра оживает. Как создать игру, которую полюбят, от которой не смогут оторваться? Знаменитый геймдизайнер Тайнан Сильвестр на примере кейсов из самых популярных игр рассказывает как объединить эмоции и впечатления, игровую механику и мотивацию игроков. Познакомитесь с принципами дизайна, которыми пользуются ведущие студии мира! Создайте игровую механику, вызывающую эмоции и обеспечивающую разнообразие.


Обработка событий в С++

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


MFC и OpenGL

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


Симуляция частичной специализации

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.