Когда разрабатываете свой 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
Dizayn tizimingdagi tokenlar ish jarayonini qanday o‘zgartirib yuborishini bilasanmi?
Komponentlar va auto layoutlar bu «zo‘r narsa», lekin tokenlarsiz sen vaqtni tejash va dizayndagi bir xillik (consistency)ning eng muhim qismini boy berasan.
Tokenlar — bu ranglar (colors), shriftlar (typography), bo‘shliqlar (spacing) va boshqa uslubiy (style) parametrlar uchun o‘zgaruvchilar (variables) hisoblanadi.
Tasavvur qil, bitta token qiymatini o‘zgartirasan va butun mahsulot avtomatik yangilanadi. 💎
50 ta ekran dizaynini qo‘lda tahrirlashni xohlaysanmi? 🤯
— Albatta yo‘q. Tokenlar bu ishni atigi ikki bosishda hal qiladi, xatolar sonini kamaytiradi va relizlarni (releases) tezlashtiradi.
P.S. Tokenlar bilan ishlashdagi samarali tajribalarni izohda yozib qoldiramiz)
@suxrobblog
» #designsystem#token#variables
🦄 Привет, сделал набор для визуализации цветовых токенов и анимации и ещё кое-что
👉 Ссылка на кит в community
У меня давно возникла идея наглядно визуализировать цвета, чтобы было прямо как в цветовой палитре, но сразу все цвета, с явными взаимосвязями.
Я делился скринами этой "витрины токенов" в чате по дизайн системам и недавно мне напомнили, попросили скинуть.
Недолго думая, решил прост опубликовать в community.
Плюс докрутил ещё один вид с тремя графиками которые пересекаются (saturation-lightness-hue), это будет полезно если токены сильно разбросаны по hue или saturation.
Ну и ещё пару мелочей до кучи: handoff для анимации и красивые стрелочки
Не знаю, насколько полезно кому-то кроме меня. Но в любом случае, я уже потратил на это добрую половину своего сна, и его уже не вернуть
👁️👄👁️
Если кто-то заглянет и оценит, буду очень благодарен 🍊 а за коммент-фидбек виртуально обниму-приподниму каждого ♥️
Всё в голубой альфе (если что)
@Apollosvg ⋅ #resource#designsystem ⋅ #ui#ux#фигма#uikit
👊 У Smashing Magazine сегодня будет бесплатная онлайн-конференция по дизайн системам (19:00 мск), если кому интересно
https://smashingconf.com/meets-design-systems-2026/schedule
🗣️ Будет 3 выступления (на английском):
1. Как культура может сократить разрыв в ценности дизайн-систем (19:10 – 19:50 по мск)
Как корпоративная культура помогает преодолеть разрыв между ожидаемой и реальной ценностью дизайн-систем, делая их по-настоящему полезными для команд.
2. Можно ли отключить эту кнопку? Управление дизайн-системами в крупных организациях (19:50 – 20:30 по мск)
Как устанавливать правила, предотвращать хаос и сохранять гибкость без ущерба для креативности.
3. Beats to Buttons: дизайн-система диджеинга (20:40 – 21:20 по мск)
Как принципы дизайн-систем применяются к миру диджеинга — от ритмов к интерфейсам, с практическими примерами креативного подхода.
Кликните на вашу любимую реакцию, если было полезно 💘🍌🐳
@Apollosvg ⋅ #designsystem#ds ⋅ #ui#ux#фигма#uikit
🤨 Разные продукты с одной дизайн системой (?)
Могут ли разные продукты на основе одной ДС иметь различия в компонентах, цветах и тд? Вроде бы банальный вопрос, и ответ очевиден — да.
Но недавно столкнулся с таким необычным мнением: у приложений Гугла «буквально нет одинаковых элементов». Мнение было подкреплено скринами Google One и News...
Решил выяснить, что разного увидел собеседник, ведь приложения практически идентичны по визуалу и очевидно используют одну ДС. Ответ убил: «отличается между ними буквально все, шрифт, цвета, отступы».
Понятно, что это довольно редкое (даже уникальное) мнение и, похоже, непонимание предмета разговора.
Но давайте разберём эти отличия и отличия ли это вообще.
[ Под картинкой весь текст не помещается, разбор в следующих постах ]
Перейти к 🧪 Часть 2: Шрифт, Цвета и Отступы
@Apollosvg ⋅ #designsystem ⋅ #ui#ux#интерфейс#дизайнсистема#дс
Привет, спишь?) Я тут случайно наткнулся на open-ui ⚹¹ это очередная база дизайн систем (и их компонентов), вроде ничего особенного, но... Там есть очень занятная сравнительная таблица компонентов ⚹² и в целом у проекта упор на статистику частотности названий.
В общем, таблица сложночитаемая и немного странненькая, но её можно смело юзать при подборе названия для своих компонентов. Плюс можно быстро перейти к странице условного button компонента в разных системах, не тратя время на гуглёжку :)
А какие ресурсы вы юзаете когда нужно подобрать название компонента? Напишите в комментах ✍️👀 (да, это призыв к активности)
Upd. Написал заумный пост = минус два подпичника...
⚹ open-ui.org
@Apollosvg ⋅ #resource#designsystem ⋅ #ui#ux#figma#фигма#дизайн#дс
✨ Статья: как я создал figma-плагин без написания кода (всё на AI)
Фух потратил на неё миллион часов. Вышло длинновато (4600+ слов...), но я оформил с оглавлением и некоторые главы можно смело скипать, если не интересно (например, про мои отношения с AI).
Поддержите прочтениями и лайками/сохранениями, если понравилась. Буду супер-благодарен ♥️
О, ещё там опрос в конце, можно проголосовать
ㅤ
👉 Ссылка на статью
ㅤ
↖ Пост про сам плагин
@Apollosvg ⋅ #article#resource#plugin#designsystem ⋅ #ui#ux#фигма#uikit