Когда разрабатываете свой 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
⌨Разработчики Duet Night Abyss анонсировали... клавиатуру
😍 Прошла трансляция разработчиков Duet Night Abyss, на которой они рассказали о нововведениях и анонсировали новые скины. В том числе, скин на оружие в виде клавиатуры.
😍 Новая версия игры выйдет 7 апреля.
😍 Промокоды с трансляции:
• THEGRANDINCENSERITE
• THEFIRMAMENTUNBOUND
• WILLBENEATHTHEWINGS
💬 Вместо решения проблем добавили пароль для блокировки предметов...
🤨 Не знаю даже, как это комментировать.
[Тег: #DNA]
😍 Больше в iNFO Daily
😍Duet Night Abyss снова взломали
😍 Помимо недавнего взлома серверов, хакеры воспользовались технической уязвимостью и внедрили в официальный клиент игры вредоносное ПО, похитившее личные данные игроков. Ходят слухи, что злоумышленники смогли взломать аккаунты в соцсетях (обойдя двухфакторную аутентификацию) и получить доступ к веб-камерам.
😍 Разработчики сообщили лишь о «проблемах со входом» и, внимание, выдали компенсацию в размере 100 валюты.
Для меня это уже не шутки. Это просто провал...
😰 У игры нет защиты и страдают реальные люди. Их аккаунты и данные под угрозой. Это просто ужасно.
[Тег: #DNA]
😍 Больше в iNFO Daily
❓Сервера Duet Night Abyss взломали?
😍 Сегодня пользователи keitaro_gg и sedum нашли способ менять получаемую валюту в промокодах на сотни тысяч, а по слухам — миллионы. Разработчики пока не могут отследить все изменения и исправить ситуацию.
Параллельно появляются новые промокоды с аномально высокими наградами. Делиться ими не собираюсь. Я не поддерживаю подобное.
Также ходят слухи, что у игры слабая защита. Данные о будущих обновлениях якобы уже в руках третьих лиц и постоянно сливаются.
💬 Репутация у игры и так печальная, а эта ситуация её окончательно добивает... Честно, я просто в шоке.
[Тег: #DNA]
😍 Больше в iNFO Daily
🧬 Новые днк-соответствия и список дальних родственников за эти выходные. А также персональные детали из области популяционной генетики, уточнения по здоровью, предрасположенность к синдромам и болезням, и куча другой информации.
А вы интересовались своим геномом? Может быть своим прошлым, молекулярной генеалогией или днк-тестами по медицине?
#dna#днк
#dna meme of the day
(Asking chatgpt how aryan a person is rather than using tools like g25 and qpAdm with appropriate modeling)
#мемдняДНК
(Спрашивать в чате, насколько "ариец" человек, вместо использования инструментов, таких как g25 и qpAdm, с соответствующим моделированием)
@illyrianometer
🌎 The quagga was a unique subspecies of the plains zebra, native to South Africa, with striped forequarters fading to brown at the back. Its sudden extinction in the late 19th century puzzled scientists for years, but recent DNA studies confirmed it was closely related to modern zebras, not a distinct species as once believed. ✨
#quagga⚡#extinction⚡#DNA
👉subscribe Interesting Planet
👉more Channels