Шаг 251.
Библиотека Qt.
Встроенные стили

    На этом шаге рассмотрим встроенные стили Qt.

    По умолчанию вид и поведение Qt-приложения определяется операционной системой, на которой оно запущено. Но это можно изменить и использовать. Qt предоставляет следующие встроенные стили (рис. 1): Windows, fusion.


Рис.1. Пример отображения виджетов с различными стилями

    Файлы приложения можно взять здесь.

    Эти стили эмулируются и доступны на любых платформах, кроме стилей QWindowsXPStyle и QMacStyle, которые доступны только на "родных" платформах. Стиль можно установить, вызвав любое Qt-приложение с командной опцией -style, или же программно.

    Для того чтобы установить стиль в приложении, нужно вызвать метод setStyle() и передать ему объект стиля или строку с его названием:

QApplication::setStyle(QStyleFactory::create("fusion"));

    В этом случае вызывается статический метод QApplication::setStyle(), которому передается динамически созданный объект стиля. Классы стилей наследуются от класса QObject, не используя механизм объектной иерархии, и ответственность за уничтожение созданных объектов несет класс QApplication. Передача объекта стиля в метод setStyle() приводит к тому, что этот метод сначала с помощью оператора delete уничтожает старый объект стиля. Поэтому можно создавать объекты стиля непосредственно в самом методе setStyle(), и не создавать дополнительных указателей на эти объекты. В статический метод QStyleFactory::create() передается строка со стилем, а он создает соответствующий объект стиля.

    В Qt можно смешивать различные стили, т. е. задавать каждому из виджетов в отдельности свой собственный стиль. Этого делать не рекомендуется.

    На следующем шаге рассмотрим создание собственных стилей в Qt.




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