Стиль Imagine
Стиль Imagine основан на настраиваемых изображениях. Подробнее...
| Заявление импорта: | import QtQuick.Controls.Imagine 2.12 |
| С момента: | Qt 5.10 |
Прикреплённые свойства
- path : строка
Подробное описание
Стиль Imagine основан на изображениях. Стиль поставляется с набором стандартных изображений, но их можно легко изменить, предоставив директорию с изображениями, используя предварительно определённую систему именования.
Стиль Imagine со стандартными изображениями
Чтобы запустить приложение со стилем Imagine, см. Использование стилей в Qt Quick Controls 2.
Имена файлов
Файлы изображений имеют следующую структуру имён:
<control>-<element>-<states>
Разделы <control> и <element> обязательны, но раздел <states> — необязателен. Например, если для кнопки предоставлен единственный файл с именем "button-background.9.png", он будет использован для каждого состояния, которое Button поддерживает. Разработчик сам решает, для каких состояний предоставлять изображения. Однако рекомендуется предоставлять изображения для наиболее распространённых состояний элементов управления, таких как disabled, pressed, и т. д. Это обеспечит то, что интерактивные элементы управления визуально будут вести себя так, как ожидается от них конечным пользователем.
Ссылка на элемент
В следующей таблице перечислены поддерживаемые элементы для каждого элемента управления, вместе с возможными состояниями для этого элемента и ожидаемым расширением файла. Элемент — это изображение, представляющее определённую визуальную часть элемента управления. Например, элемент Button элемента "background" представляет его фоновый цвет.
| Управление | Элемент | Состояния | Расширение |
|---|---|---|---|
| Окно приложения | фон | активный | .9.png (или .png) |
| наложение | модальное | .9.png (или .png) | |
| Индикатор выполнения | анимация | выключен, выполняется, зеркальное отображение, наведение | .webp |
| фон | то же, что и выше | .webp | |
| Кнопка | фон | выключен, нажатый, отмеченный, переключаемый, фокусированный, выделенный, плоский, зеркальное отображение, наведение | .9.png |
| Флажок | фон | выключен, нажатый, отмеченный, частично отмеченный, фокусированный, зеркальное отображение, наведение | .9.png (или .png) |
| индикатор | то же, что и выше | .png | |
| Делегат флажка | фон | выключен, нажатый, отмеченный, частично отмеченный, фокусированный, выделенный, зеркальное отображение, наведение | .9.png (или .png) |
| индикатор | то же, что и выше | .png | |
| Комбобокс | фон | выключен, нажатый, редактируемый, открытый, фокусированный, зеркальное отображение, наведение, плоский | .9.png (или .png) |
| индикатор | то же, что и выше | .png | |
| выпадающее меню | то же, что и выше | .9.png (или .png) | |
| Кнопка с задержкой | фон | выключен, нажатый, отмеченный, переключаемый, фокусированный, зеркальное отображение, наведение | .9.png (или .png) |
| прогресс | то же, что и выше | .9.png (или .png) | |
| маска | то же, что и выше | .9.png (или .png) | |
| Цифровой регулятор | фон | выключен, нажатый, фокусированный, зеркальное отображение, наведение | .9.png (или .png) |
| ручка | то же, что и выше | .9.png (или .png) | |
| Диалоговое окно | фон | модальное, затемнение | .9.png (или .png) |
| заголовок | то же, что и выше | .9.png (или .png) | |
| наложение | модальное | .9.png (или .png) | |
| Группа кнопок диалогового окна | фон | выключен, зеркальное отображение | .9.png (или .png) |
| Панель | фон | модальное, затемнение, верхнее, левое, правое, нижнее | .9.png (или .png) |
| наложение | модальное | .9.png (или .png) | |
| Рамка | фон | выключен, зеркальное отображение | .9.png (или .png) |
| Группа элементов | фон | выключен, зеркальное отображение | .9.png (или .png) |
| заголовок | то же, что и выше | .9.png (или .png) | |
| Делегат элемента | фон | выключен, нажатый, фокусированный, выделенный, зеркальное отображение, наведение | .9.png (или .png) |
| Метка | фон | выключен, зеркальное отображение, наведение | .9.png (или .png) |
| Меню | фон | модальное, затемнение | .9.png (или .png) |
| наложение | модальное | .9.png (или .png) | |
| Элемент меню | стрелка | выключен, нажатый, отмеченный, фокусированный, выделенный, зеркальное отображение, наведение | .png |
| фон | то же, что и выше | .9.png (или .png) | |
| индикатор | то же, что и выше | .png | |
| Разделитель меню | фон | выключен, зеркальное отображение | .9.png (или .png) |
| разделитель | то же, что и выше | .9.png (или .png) | |
| Страница | фон | выключен, зеркальное отображение | .9.png (или .png) |
| Индикатор страницы | фон | выключен, зеркальное отображение, наведение | .9.png (или .png) |
| делегат | выключен, нажатый, текущий, зеркальное отображение, наведение | .png | |
| Панель | фон | выключен, зеркальное отображение | .9.png (или .png) |
| Поп-ап | фон | модальное, затемнение | .9.png (или .png) |
| наложение | модальное | .9.png (или .png) | |
| Полоса прогресса | анимация | выключен, зеркальное отображение, наведение | .png |
| фон | выключен, неопределенный, зеркальное отображение, наведение | .9.png (или .png) | |
| маска | то же, что и выше | .9.png (или .png) | |
| прогресс | то же, что и выше | .9.png (или .png) | |
| Радиокнопка | фон | выключен, нажатый, отмеченный, фокусированный, зеркальное отображение, наведение | .9.png (или .png) |
| индикатор | то же, что и выше | .png | |
| Делегат радиокнопки | фон | выключен, нажатый, отмеченный, фокусированный, выделенный, зеркальное отображение, наведение | .9.png (или .png) |
| индикатор | то же, что и выше | .png | |
| Двухточечный ползунок | фон | вертикальный, горизонтальный, выключен, фокусированный, зеркальное отображение, наведение | .9.png (или .png) |
| Двухточечный ползунок | прогресс | то же, что и выше | .9.png (или .png) |
| ручка | первая, вторая, вертикальный, горизонтальный, выключен, нажатый, фокусированный, зеркальное отображение, наведение | .png | |
| Круглая кнопка | фон | выключен, нажатый, отмеченный, переключаемый, фокусированный, выделенный, плоский, зеркальное отображение, наведение | .9.png (или .png) |
| Скроллбар | фон | вертикальный, горизонтальный, выключен, интерактивный, нажатый, зеркальное отображение, наведение | .9.png (или .png) |
| ручка | то же, что и выше | .9.png (или .png) | |
| Индикатор прокрутки | фон | вертикальный, горизонтальный, выключен, зеркальное отображение, наведение | .9.png (или .png) |
| ручка | то же, что и выше | .9.png (или .png) | |
| Скроллвью | фон | выключен, зеркальное отображение | .9.png (или .png) |
| Ползунок | фон | вертикальный, горизонтальный, выключен, нажатый, фокусированный, зеркальное отображение, наведение | .9.png (или .png) |
| ручка | то же, что и выше | .9.png (или .png) | |
| прогресс | то же, что и выше | .9.png (или .png) | |
| Поле ввода | фон | выключен, редактируемый, фокусированный, зеркальное отображение, наведение | .9.png (или .png) |
| редактор | выключен, фокусированный, зеркальное отображение, наведение | .9.png (или .png) | |
| индикатор | вверх, вниз, выключен, редактируемый, нажатый, фокусированный, зеркальное отображение, наведение | .9.png (или .png) | |
| Стопка представлений | фон | выключен, зеркальное отображение | .9.png (или .png) |
| Делегат свайпа | фон | выключен, нажатый, фокусированный, выделенный, зеркальное отображение, наведение | .9.png (или .png) |
| Прокрутка свайпом | фон | вертикальный, горизонтальный, выключен, интерактивный, фокусированный, зеркальное отображение | .9.png (или .png) |
| Переключатель | фон | выключен, нажатый, отмеченный, фокусированный, зеркальное отображение, наведение | .9.png (или .png) |
| ручка | то же, что и выше | .9.png (или .png) | |
| индикатор | то же, что и выше | .9.png (или .png) | |
| Делегат переключателя | фон | выключен, нажатый, отмеченный, фокусированный, выделенный, зеркальное отображение, наведение | .9.png (или .png) |
| ручка | то же, что и выше | .9.png (или .png) | |
| индикатор | то же, что и выше | .9.png (или .png) | |
| Панель вкладок | фон | выключен, заголовок, подвал, зеркальное отображение | .9.png (или .png) |
| Кнопка вкладки | фон | выключенный, нажатый, выбранный, фокусированный, зеркальный, наведённый | .9.png (или .png) |
| Область текста | фон | выключенный, фокусированный, зеркальный, наведённый | .9.png (или .png) |
| Поле ввода текста | фон | выключенный, фокусированный, зеркальный, наведённый | .9.png (или .png) |
| Панель инструментов | фон | выключенный, заголовок, подвал, зеркальный | .9.png (или .png) |
| Кнопка инструментов | фон | выключенный, нажатый, выбранный, с возможностью выбора, фокусированный, выделенный, плоский, зеркальный, наведённый | .9.png (или .png) |
| Разделитель инструментов | фон | вертикальный, горизонтальный, выключенный, зеркальный | .9.png (или .png) |
| разделитель | то же, что и выше | .9.png (или .png) | |
| Подсказка | фон | .9.png (или .png) | |
| Переключатель | фон | выключенный, фокусированный, зеркальный, наведённый | .9.png (или .png) |
Примеры активов
В следующей таблице перечислены примеры активов (взятых из стандартных активов стиля Imagine) для всех элементов управления. Список не является исчерпывающим, поскольку не все элементы нуждаются в активах, но он может служить руководством при создании собственных активов.
| Элемент управления | Элемент | Состояния | Ассет | Примечания |
|---|---|---|---|---|
| Окно приложения | фон | См. сноску 1 | ||
| наложение | См. сноску 1 | |||
| наложение | модальное | См. сноску 1 | ||
| Кнопка | фон | |||
| фон | отключено | |||
| фон | получил фокус | |||
| фон | нажато | |||
| фон | выбрано | |||
| фон | выбрано, отключено | |||
| фон | выбрано, получил фокус | |||
| фон | выбрано, наведено | |||
| фон | выделено | |||
| фон | выделено, отключено | |||
| фон | выделено, получил фокус | |||
| фон | выделено, наведено | |||
| фон | выделено, нажато | |||
| фон | выделено, выбрано | |||
| фон | наведено | |||
| фон | плоский | |||
| фон | плоский, отключено | |||
| фон | плоский, наведено | |||
| фон | плоский, нажато | |||
| фон | плоский, выбрано | |||
| Флажок | индикатор | |||
| индикатор | отключено | |||
| индикатор | нажато | |||
| индикатор | выбрано | |||
| индикатор | выбрано, нажато | |||
| индикатор | выбрано, наведено | |||
| индикатор | выбрано, получил фокус | |||
| индикатор | частично, выбрано | |||
| индикатор | частично, выбрано, нажато | |||
| индикатор | частично, выбрано, получил фокус | |||
| индикатор | частично, выбрано, наведено | |||
| индикатор | получил фокус | |||
| индикатор | наведено | |||
| Делегат выбора | фон | |||
| фон | отключено | |||
| фон | нажато | |||
| фон | получил фокус | |||
| фон | наведено | |||
| индикатор | ||||
| индикатор | отключено | |||
| индикатор | нажато | |||
| индикатор | выбрано | |||
| индикатор | выбрано, нажато | |||
| индикатор | выбрано, получил фокус | |||
| индикатор | выбрано, наведено | |||
| индикатор | получил фокус | |||
| индикатор | наведено | |||
| индикатор | частично, выбрано | |||
| индикатор | частично, выбрано, нажато | |||
| индикатор | частично, выбрано, получил фокус | |||
| индикатор | частично, выбрано, наведено | |||
| индикатор | наведено | |||
| Комбо-бокс | фон | |||
| фон | отключено | |||
| фон | получил фокус | |||
| фон | наведено | |||
| фон | нажато | |||
| фон | открыто | |||
| фон | редактируется | |||
| фон | редактируется, получил фокус | |||
| фон | редактируется, отключено | |||
| индикатор | ||||
| индикатор | отключено | |||
| индикатор | редактируется | |||
| индикатор | редактируется, отключено | |||
| индикатор | редактируется, зеркально | |||
| индикатор | редактируется, зеркально, отключено | |||
| сплывающее окно |
| Кнопка с задержкой | фон | |||
| фон | выключен | |||
| фон | выключен, выбран | |||
| фон | фокусирован | |||
| фон | нажат | |||
| фон | выбран | |||
| фон | выбран, фокусирован | |||
| фон | выбран, наведён | |||
| фон | наведён | |||
| прогресс | ||||
| прогресс | выключен | |||
| маска | ||||
| Циферблат | фон | |||
| фон | выключен | |||
| фон | фокусирован | |||
| ручка | ||||
| ручка | выключен | |||
| ручка | фокусирован | |||
| ручка | фокусирован, нажат | |||
| ручка | фокусирован, наведён | |||
| ручка | нажат | |||
| ручка | наведён | |||
| Диалог | фон | |||
| наложение | См. сноску 1 | |||
| наложение | модальное | См. сноску 1 | ||
| Группа кнопок диалога | фон | |||
| Шкаф | фон | слева | ||
| фон | справа | |||
| фон | сверху | |||
| фон | снизу | |||
| наложение | См. сноску 1 | |||
| наложение | модальное | См. сноску 1 | ||
| Рамка | фон | |||
| Группа | фон | |||
| заголовок | ||||
| Делегат элемента | фон | |||
| фон | выключен | |||
| фон | нажат | |||
| фон | фокусирован | |||
| фон | наведён | |||
| фон | выделен | |||
| Меню | фон | |||
| Элемент меню | фон | |||
| фон | выделен | |||
| стрелка | ||||
| стрелка | зеркальная | |||
| стрелка | выключен | |||
| стрелка | зеркальная, выключен | |||
| индикатор | ||||
| индикатор | выключен | |||
| индикатор | нажат | |||
| индикатор | выбран | |||
| индикатор | выбран, нажат | |||
| индикатор | выбран, фокусирован | |||
| индикатор | выбран, наведён | |||
| индикатор | фокусирован | |||
| индикатор | наведён | |||
| Разделитель меню | разделитель | |||
| Страница | фон | См. сноску 1 | ||
| Индикатор страницы | делегат | |||
| делегат | выключен | |||
| делегат | выключен, текущий | |||
| делегат | нажат | |||
| делегат | текущий | |||
| Панель | фон | |||
| Поп-ап | фон | См. сноску 1 | ||
| наложение | См. сноску 1 | |||
| наложение | модальное | |||
| Полоса прогресса | фон | |||
| прогресс |
| маска | ||||
| Кнопка радио | индикатор | |||
| индикатор | отключен | |||
| индикатор | нажат | |||
| индикатор | выбран | |||
| индикатор | выбран, фокусирован | |||
| индикатор | выбран, наведён | |||
| индикатор | выбран, нажат | |||
| индикатор | фокусирован | |||
| индикатор | наведён | |||
| Делегат радиокнопки | фон | |||
| фон | отключен | |||
| фон | нажат | |||
| фон | фокусирован | |||
| фон | наведён | |||
| индикатор | ||||
| индикатор | отключен | |||
| индикатор | нажат | |||
| индикатор | выбран | |||
| индикатор | выбран, фокусирован | |||
| индикатор | выбран, наведён | |||
| индикатор | выбран, нажат | |||
| индикатор | фокусирован | |||
| индикатор | наведён | |||
| Ползунок диапазона | фон | вертикальный | ||
| фон | горизонтальный | |||
| прогресс | вертикальный | |||
| прогресс | вертикальный, отключен | |||
| прогресс | горизонтальный | |||
| прогресс | горизонтальный, отключен | |||
| ручка | ||||
| ручка | отключен | |||
| ручка | фокусирован | |||
| ручка | фокусирован, наведён | |||
| ручка | фокусирован, нажат | |||
| ручка | наведён | |||
| ручка | нажат | |||
| Кнопка круглая | фон | |||
| фон | отключен | |||
| фон | отключен, выбран | |||
| фон | фокусирован | |||
| фон | нажат | |||
| фон | выбран | |||
| фон | выбран, фокусирован | |||
| фон | выбран, наведён | |||
| фон | выделен | |||
| фон | выделен, нажат | |||
| фон | выделен, фокусирован | |||
| фон | выделен, наведён | |||
| фон | наведён | |||
| Скроллбар | ручка | |||
| ручка | отключен | |||
| ручка | интерактивная | |||
| ручка | интерактивная, отключен | |||
| ручка | интерактивная, нажат | |||
| ручка | интерактивная, наведён | |||
| Индикатор прокрутки | ручка | |||
| Слайдер | фон | вертикальный | ||
| фон | горизонтальный | |||
| прогресс | вертикальный | |||
| прогресс | вертикальный, отключен | |||
| прогресс | горизонтальный | |||
| прогресс | горизонтальный, отключен | |||
| ручка | ||||
| ручка | отключен | |||
| ручка | фокусирован | |||
| ручка | фокусирован, наведён | |||
| ручка | фокусирован, нажат | |||
| ручка | наведён | |||
| ручка | нажат | |||
| Поле ввода | фон | |||
| фон | отключен |
| фон | сосредоточенный | |||
| фон | редактируемый | |||
| индикатор | вверх | |||
| индикатор | вверх, отключен | |||
| индикатор | вверх, нажат | |||
| индикатор | вверх, сосредоточен | |||
| индикатор | вверх, зеркально | |||
| индикатор | вверх, наведён курсор | |||
| индикатор | вверх, редактируемый | |||
| индикатор | вверх, редактируемый, нажат | |||
| индикатор | вверх, редактируемый, сосредоточен | |||
| индикатор | вверх, редактируемый, зеркально | |||
| индикатор | вверх, редактируемый, наведён курсор | |||
| индикатор | вниз | |||
| индикатор | вниз, отключен | |||
| индикатор | вниз, нажат | |||
| индикатор | вниз, сосредоточен | |||
| индикатор | вниз, зеркально | |||
| индикатор | вниз, наведён курсор | |||
| индикатор | вниз, редактируемый | |||
| индикатор | вниз, редактируемый, нажат | |||
| индикатор | вниз, редактируемый, сосредоточен | |||
| индикатор | вниз, редактируемый, зеркально | |||
| индикатор | вниз, редактируемый, наведён курсор | |||
| SwipeDelegate | фон | |||
| фон | отключен | |||
| фон | нажат | |||
| фон | сосредоточен | |||
| фон | наведён курсор | |||
| Switch | индикатор | |||
| индикатор | отключен | |||
| индикатор | нажат | |||
| индикатор | выбран | |||
| индикатор | выбран, сосредоточен | |||
| индикатор | выбран, наведён курсор | |||
| индикатор | выбран, нажат | |||
| индикатор | сосредоточен | |||
| индикатор | наведён курсор | |||
| ручка | ||||
| ручка | отключен | |||
| ручка | нажат | |||
| SwitchDelegate | фон | |||
| фон | отключен | |||
| фон | нажат | |||
| фон | сосредоточен | |||
| фон | наведён курсор | |||
| индикатор | ||||
| индикатор | отключен | |||
| индикатор | нажат | |||
| индикатор | выбран | |||
| индикатор | выбран, сосредоточен | |||
| индикатор | выбран, наведён курсор | |||
| индикатор | выбран, нажат | |||
| индикатор | сосредоточен | |||
| индикатор | наведён курсор | |||
| ручка | ||||
| ручка | отключен | |||
| TabBar | фон | |||
| TabButton | фон | |||
| фон | отключен | |||
| фон | нажат | |||
| фон | выбран | |||
| фон | наведён курсор | |||
| фон | отключен, выбран | |||
| TextArea | фон | |||
| фон | отключен | |||
| фон | сосредоточен | |||
| TextField | фон | |||
| фон | отключен | |||
| фон | сосредоточен | |||
| ToolBar | фон | |||
| ToolButton | фон |
| фон | отключено, выбрано | |||
| фон | фокусировано | |||
| фон | нажато | |||
| фон | выбрано | |||
| фон | выбрано, фокусировано | |||
| фон | выбрано, наведено | |||
| фон | наведено | |||
| Разделитель инструментов | разделитель | горизонтальный | ||
| разделитель | вертикальный | |||
| Подсказка | фон |
1 Изображение 1x1, содержащее один цвет, растянутое для заполнения элемента управления.
Изображения 9-patch
Стиль Imagine использует изображения 9-patch, чтобы дать разработчикам контроль над тем, как определённый элемент реагирует на изменение размеров. Вот пример изображения 9-patch, представляющего фон кнопки, вместе с увеличенной версией (для лучшего отображения линий 9-patch):
Контент изображения имеет ширину 44 пикселя и высоту 32 пикселя. Каждое изображение 9-patch требует линию толщиной один пиксель (в совокупности «линии 9-patch») вокруг каждой стороны, поэтому фактические размеры изображения составляют 46 пикселей в ширину и 34 пикселя в высоту. Обратите внимание, что линии 9-patch должны быть толщиной в один пиксель независимо от DPI изображения. Например, линии 9-patch для button-background.9.png и button-background@2x.9.png должны быть толщиной в один пиксель.
Линии 9-patch должны быть чёрными, а остальные области — прозрачными или белыми:
Растягиваемые области
Линии 9-patch по верхнему и левому краям определяют, какие части изображения будут растягиваться при изменении размера.
Ниже приведены примеры изменения размеров изображения 9-patch в полтора раза по различным измерениям:
Обратите внимание, как закругленные углы сохраняют свой первоначальный размер, поскольку они находятся за пределами диапазона линий.
Области отступа
Линии 9-patch по правому и нижнему краям определяют, какое пространство доступно для contentItem элемента управления, что означает, что они также контролируют отступ. Диаграмму, иллюстрирующую отступ, см. в разделе Макет элемента управления.
Ниже приведены дополнительные примеры изменения размеров изображения 9-patch, но на этот раз демонстрирующие, как работают линии отступа 9-patch.
contentItem может занимать столько места, сколько ему нужно, внутри затенённых областей. Если линии отступа отсутствуют, contentItem будет занимать столько места, сколько ему нужно, без превышения растягиваемых областей.
Внутренние области
В некоторых случаях для элемента управления необходима тень, например. Однако, если мы добавим тень к кнопке выше, это повлияет на её размер, что создаёт проблемы как для макета, так и для границ взаимодействия с мышью/сенсорным экраном.
Внутренние области учитывают это, указывая элементу управления, что определённая область изображения 9-patch должна находиться за пределами элемента управления:
На изображении ниже пунктирная линия представляет нажимаемую область кнопки, а также пространство, которое она займёт в макете. Тень отмечена штриховой областью позади неё:
Экспорт изображений 9-patch
Для создания изображений 9-patch, подходящих для использования со стилем Imagine, можно использовать различные векторные и растровые редакторы. В следующих разделах кратко описывается процесс экспорта для каждого редактора, а в последнем разделе объясняется, как обеспечить соответствие экспортированных изображений стандарту 9-patch.
Illustrator
См. документацию Adobe по панели экспорта ресурсов.
Inkscape
Для экспорта ресурсов с Inkscape можно использовать расширение Inkscape 9-Patch Export.
Photoshop
См. документацию Adobe по генерации ресурсов изображения из слоёв.
Sketch
См. документацию Sketch по экспорту.
Qt Quick Controls 2 также предоставляет плагин для Sketch, который автоматически исправляет толщину линий 9-patch после экспорта ресурсов. Для установки этого файла дважды щелкните по нему. После того, как Sketch подтвердит установку плагина экспорта 9-patch, плагин автоматически обработает изображения при их экспорте.
Исправление линий 9-patch
При экспорте изображений 9-patch в нескольких вариантах DPI (@2x, @3x, и т. д.), линии 9-patch, как правило, масштабируются вместе с изображением. Существует несколько способов исправить это, но, возможно, самый простой способ — использовать инструмент ImageMagick's mogrify. У инструмента есть функция -shave, которая может использоваться для обрезки изображения, чтобы уменьшить толщину линий 9-patch:
mogrify -shave 1x1 -path path/to/images *@2x.9.png mogrify -shave 2x2 -path path/to/images *@3x.9.png mogrify -shave 3x3 -path path/to/images *@4x.9.png
Обычные изображения DPI (без префикса @Nx) не затрагиваются, поэтому необходимо выполнить команду только на изображениях, предназначенных для дисплеев высокой DPI.
Анимированные изображения
Форматы анимированных изображений WebP и GIF поддерживаются стилем Imagine.
Настройка
Путь
Стиль Imagine позволяет настроить путь, используемый для выбора ресурсов изображений. Путь можно указать для любого окна или элемента, и он автоматически распространяется на дочерние элементы таким же образом, как шрифты. В следующем примере окно и все три радиокнопки отображаются с тёмными ресурсами изображений (файлы находятся в «qrc:/themes/dark»).
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Controls.Imagine 2.12
ApplicationWindow {
visible: true
Imagine.path: "qrc:/themes/dark"
Column {
anchors.centerIn: parent
RadioButton { text: qsTr("Small") }
RadioButton { text: qsTr("Medium"); checked: true }
RadioButton { text: qsTr("Large") }
}
} |
Помимо указания пути в QML, его также можно указать через переменную среды или в конфигурационном файле. Атрибуты, указанные в QML, имеют приоритет над всеми другими методами.
Конфигурационный файл
| Переменная | Описание |
|---|---|
Path |
Указывает путь к каталогу, содержащему ресурсы стиля Imagine. Если не указано, используются встроенные ресурсы. Например, для указания пути к каталогу, хранящемуся в системе ресурсов: [Imagine] Path=:/imagine-assets Для указания относительного пути к локальному каталогу: [Imagine] Path=imagine-assets Примечание: Из-за технических ограничений путь не должен называться "imagine", если он относительный к файлу |
Дополнительные сведения о конфигурационном файле см. в разделе Конфигурационный файл Qt Quick Controls 2.
Переменные среды
| Переменная | Описание |
|---|---|
QT_QUICK_CONTROLS_IMAGINE_PATH |
Указывает путь к каталогу, содержащему ресурсы стиля Imagine. Если не указано, используются встроенные ресурсы. Например, для указания пути к каталогу, хранящемуся в системе ресурсов: QT_QUICK_CONTROLS_IMAGINE_PATH=:/imagine-assets Для указания относительного пути к локальному каталогу: QT_QUICK_CONTROLS_IMAGINE_PATH=imagine-assets Примечание: Из-за технических ограничений путь не должен называться "imagine", если он относительный к файлу |
Полный список поддерживаемых переменных среды см. в разделе Поддерживаемые переменные среды в Qt Quick Controls 2.
Палитра
Стиль Imagine поддерживает настройку палитры с помощью свойства palette и файла qtquickcontrols2.conf. Как и в других стилях, точные роли палитры, используемые стилем Imagine, зависят от конкретного стиля. Однако, поскольку большая часть визуального отображения элементов управления (например, фонов) управляется ресурсами изображений, только роли, обычно используемые для текста, будут иметь эффект.
Шрифт
Пользовательские шрифты можно задать с помощью свойства font и файла конфигурации configuration.
Зависимость
Стиль Imagine необходимо импортировать отдельно, чтобы получить доступ к атрибутам, специфичным для стиля Imagine. Следует отметить, что независимо от ссылок на стиль Imagine, код одного и того же приложения работает с любым другим стилем. Атрибуты, специфичные для Imagine, имеют эффект только при запуске приложения со стилем Imagine.
Если стиль Imagine импортирован в QML-файл, который всегда загружается, стиль Imagine необходимо развернуть вместе с приложением, чтобы приложение можно было запустить независимо от стиля. Используя выбор файлов, можно применять настройки, специфичные для стиля, не создавая жёсткую зависимость от стиля.
См. также Стилизация Qt Quick Controls 2
Документация присоединенного свойства
Imagine.path : string
Это присоединенное свойство содержит путь к ресурсам изображения...
Button {
Imagine.path: "qrc:/themes/dark"
} Связанная информация
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qtquickcontrols2-imagine.html