Когда разрабатываете свой GUI с помощью PyQt для какого-либо софта бывает необходимо позаимствовать цвета из текущего стиля интерфейса. Например, чтобы правильно раскрасить свои виджеты, подогнав их по цвету. Ведь бывает, что ваш GUI используется в разных софтах. Причём некоторые со светлой темой а другие с тёмной.
По умолчанию стили наследуются, но если вы задаёте какую-либо раскраску для части виджета через свой styleSheet, то требуется ссылаться на цвета текущего стиля.
Как это сделать? Как получить нужный цвет из палитры имеющегося стиля? Это достаточно просто, нужно использовать класс QPalette и его роли.
Например, мне нужно достать цвет текста из одного виджета и применить его в другом как цвет фона (не важно зачем именно так, просто захотелось😊).
Получаем палитру виджета и сразу достаём нужный цвет, указав его роль.
from PySide2.QtGui import QPalette
color = main_window.palette().color(QPalette.Text)
теперь можем использовать этот цвет в стилях
my_widget.setStyleSheet(f'background-color: {color.name()};')
Готово, мы динамически переопределили дефолтный стиль используя текущий стиль окна!
На самом деле есть запись покороче, в одну строку и без лишних переменных. Не очень-то по правилам CSS, но Qt это понимает.
my_widget.setStyleSheet('background-color: palette(Text);')
Этот способ не подходит если вам нужно как-то модифицировать цвет перед применением в своих стилях. В этом случае потребуется первый способ.
Зато он прекрасно сработает в файле .qss, то есть не придётся в коде прописывать раскраску отдельных элементов через ссылки на палитру, всё красиво сохранится в отдельном файле .qss!
QListView#my_widget::item:selected {
background: palette(Midlight);
}
Про имеющиеся роли можно почитать здесь🌍
#qt#tricks
В преддверии выхода Apple Vision Pro хотим напомнить как можно в VR создавать сцену через блокинг или скульптинг, а затем поверх дорисовывать персонажа, затем крутить сцену и добавлять нового персонажа - получая консистентный сторителлинг
Используете?
#xr
Spatial Computing & AI
Для того чтобы подготовиться к массовому проникновению Apple Vision Pro и Meta Quest 3 и будущих моделей стоит уже сейчас наблюдать за тем как XR дружит с AI
Вы можете следить за всеми новинками у нас по хэштегу #XR
Mixed Reality в Oculus Quest 3 становится еще лучше, в этом кейсе показывается старый пример обучения игре на пианино в смешанной реальности. А теперь представляем что в это время вы генерируете вокруг 360-пространство и ваша музыка трансформирует внешний вид генерации
#xr
Друзья! Мы с нашими коллегами по ИТ-каналам сделали для вас полезную подборку каналов. Не благодарите 😉
@itblognews - канал с самыми актуальными новостями из мира технологий. Только авторский контент и никакой лишней информации
@windowscorp Оптимизируй свой компьютер!💻
Советы, моддинг, комплектующие и многое другое вы найдете у нас в канале !✔
@devsp - канал для веб-разработчика.👍 Много полезной и интересной информацией для повышения навыков✔
@ifuturestr Хочешь узнать о том, что происходит в мире технологий и науки, а также купить технику Apple c USA по самым низким ценам.📱
@VIARITY Весь этот #XR👓 Авторский канал о том, как технологии VR/AR/MR/360° меняют мир бизнеса, искусства, развлечений и социальных сетей.
🤖Google рассказала как стоит адаптировать Android приложения для работы на XR
Отличия Android XR от visionOS от Apple заключается в том, что гарнитуры позволяют запускать обычные Android приложения, но чтобы улучшить опыт можно выполнить небольшую адаптацию с помощью Jetpack XR SDK.
На примере адаптации приложения Androidify (оно у меня не запустилось в эмулятор XR) как выполнять адаптацию. Полезно тем кто хочет попробовать это!
Надо будет попробовать это на FrameIO после реализации его MVP версии
#android#xr#jetpack