QSS

QSS

QSS (англ. Qt Style Sheets — таблицы стилей Qt) — это механизм, позволяющий настраивать внешний вид виджетов библиотеки Qt.

Содержание

Описание

QSS в значительной части был вдохновлён каскадными таблицами стилей CSS для HTML, вследствие чего имеет похожий синтаксис. В частности, как и в CSS, в QSS можно изменять форму, цвета, прозрачность элемента, а также визуальную реакцию на события (такие, как нажатие кнопки). Стили можно присоединять как к отдельному компоненту так и к ко всему приложению, с помощью метода ::setStyleSheet(), имеющегося как у отдельных виджетов, так и у объекта QApplication.

Qt Designer предоставляет возможность интеграции QSS-стилей, что упрощает их тестирование и разработку. Также, при запуске приложения на Qt, можно применить к нему таблицу стилей, воспользовавшись синтаксисом командной строки вида:

MyApp -stylesheet MyStyle.qss

Поддержка QSS появилась в Qt начиная с версии 4.3[1], однако до версии 4.5 этот механизм не работал на платформе Mac OS X

Механизм QSS позволяет полностью отделить визуальный дизайн от разработки приложения и привлечь к стилизации приложения веб-дизайнеров. Наряду с подсистемами QtScript и QML — это один из шагов по сближению Qt-программирования с web-разработкой.

Особенности QSS

В качестве селекторов QSS используются прежде всего имена классов виджетов Qt. Можно также конкретизировать их именем конкретного экземпляра виджета, например QPushButton#okButton а также значениями тех или иных атрибутов (QPushButton[x="0"][y="0"]). Как и в CSS можно искать элемент ( в случае QSS — виджет), вложенный в виджет указанного типа, например QFrame > QDial (прямой потомок) или QFrame QDial (допустимы промежуточные уровни вложенности).

Примеры кода на QSS

Устанавливает радиус границы для классов QPlainTextEdit,QSpinBox,QTimeEdit,QLineEdit:

QPlainTextEdit,QSpinBox,QTimeEdit,QLineEdit { border-radius: 5;}

Проверяет значение свойства editable класса QComboBox, если условие выполняется то устанавливает изображение из файла ресурсов, и ширину границы:

 QComboBox[editable="true"]{
    border-image: url(:/Components/pictures/frame.png) 4;
    border-width: 3;
}

Примечания

  1. Qt 4.3 and Style Sheets (англ.), Qt Labs — Developer Blogs

Литература

  • Жасмин Бланшет, Марк Саммерфилд Гл. 19. Настройка диалога с пользователем. Использование таблиц стилей Qt // Qt4: Программирование GUI на C++ = C++ GUI Programming with Qt 4. — Издание второе, дополненное. — Москва: КУДИЦ-ПРЕСС, 2008. — С. 447-461. — 718 с. — 2 500 экз, экз. — ISBN 978-5-91136-059-7
  • Макс Шлее Гл. 26. Элементы со стилем. Использование каскадных стилей документа // Qt 4.5. Профессиональное программирование на С++. — Санкт-Петербург: БХВ, 2010. — С. 433-440. — 896 с. — 1 500 экз, экз. — ISBN 978-5-9775-0398-3

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "QSS" в других словарях:

  • QSS — Astron. See quasi stellar radio source. * * * …   Universalium

  • QSS — Quality Systems & Software (Business » Firms) * Quintessential School Systems (Community » Educational) * Quality System Solutions (Business » Firms) * Qualitynet Service Selector (Business » Firms) * Quartier Software Services (Business » Firms) …   Abbreviations dictionary

  • QSS — quantitative sacroiliac scintigraphy …   Medical dictionary

  • QSS — Quality Surveillance System …   Acronyms

  • QSS — Quality Surveillance System …   Acronyms von A bis Z

  • QSS — quae supra scripta, qui sacerdos Solis, qui supra scripti …   Abbreviations in Latin Inscriptions

  • QSS — abbr. QuasiStellar Radio Source …   Dictionary of abbreviations

  • QSS — • Quality Standards System …   Maritime acronyms and abbreviations

  • QSS — • quantitative sacroiliac scintigraphy …   Dictionary of medical acronyms & abbreviations

  • QSS — lun. sc. abbr. Quasi Stellar Sources …   United dictionary of abbreviations and acronyms


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»