На этом шаге рассмотрим использование каскадных стилей документа.
Реализация собственного стиля может оказаться очень сложным, кропотливым и утомительным занятием. Кроме того, есть очень много графических дизайнеров, которые не знают язык C++. Интересно также отметить, что подавляющее большинство программистов на C++ не занимаются графическим дизайном, а следовательно, C++ — это не тот язык, на котором должен реализовываться стиль программы. Очень важно еще и то обстоятельство, что внесение изменений в стиль, реализованный с помощью языка C++, требует перекомпиляции программы, а это заметно снижает скорость разработки программных проектов. Этого можно было бы избежать, если бы стиль являлся отдельным файлом и загружался в процессе исполнения самой программы. Это послужило толчком для внедрения в Qt нового способа создания стиля. За основу был взят язык CSS (Cascading Style Sheets, каскадные таблицы стилей), используемый в HTML. В Qt этот язык был адаптирован для виджетов, но концепция и синтаксис языка остались теми же. Это позволило полностью отделить создание стиля от приложения. Программа Qt Designer предоставляет возможность интеграции CSS-стилей, что упрощает их просмотр на примерах различных виджетов.
По своей сути, каскадный стиль есть не что иное, как текстовое описание стиля. Это описание может находиться в отдельном файле, обычно имеющим расширение qss. Его можно установить в приложении, используя метод QApplication::setStyleSheet(), или в отдельном виджете при помощи аналогичного метода QWidget::setStyleSheet(). А можно подключить каскадный стиль в командной строке, указав после ключа -stylesheet имя файла CSS-стиля. Это очень удобно, т. к. можно очень быстро опробовать стиль в действии на любой Qt-программе. Пример:
MyApp –stylesheet MyStyle.qss
На следующем шаге рассмотрим синтаксис параметров и целевых элементов CSS.