Когда разрабатываете свой 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
• Очень интересное исследование про различного рода уязвимости, которые можно реализовать через SIM-карту. Даже примеры кода есть... А еще авторы собрали интересную тулзу для эмуляции SIM-карт, которая может быть интегрирована в различные устройства для тестирования и исследований.
➡️ Исследование: https://www.usenix.org/
➡️ GitHub: https://github.com/tomasz-lisowski/simurai
➡️ Материал в формате видео: https://youtu.be/3_R9P--ksE4
#SIM#ИБ
❌С 18 ноября SIM-карты мошенников начнут блокировать
Напомним, что операторы будут блокировать подозрительные номера в течение 2-х рабочих дней после получения жалобы или выявления мошеннических действий через антифрод-системы, интегрированные с антифрод-центром Национального банка.
При подтверждении подозрений о том, что с использованием номера велись мошеннические действия, оператор временно блокирует его и сообщает об этом в антифрод-центр. В случае, если информация о мошенничестве не подтвердится, оператор должен в течение двух дней уведомить об этом Нацбанк.
Это мера для борьбы с телефонным мошенничеством. Будем следить за тем, будут ли появляться жалобы на некорректные блокировки номеров 👀
#SIM#мошенничество#новости#Казахстан
📷BlueScreen | Digital Kazakhstan
Проверьте, на кого оформлен ваш мобильный номер. Даже если пользуетесь им уже много лет:
https://blog.antiphish.ru/all/your-number/
#мошенничество#номер#SIM
📱eSIM в Беларуси: пластик уходит в прошлое?..
Число пользователей цифровых SIM-карт растет. Только у МТС количество пользователей цифровых SIM-карт за год выросло более чем на 30%.
🤳Кто в тренде?
▫️ Пользователи в возрасте 31-40 лет
▫️ Владельцы iPhone (лидер – 15 модель), Samsung и Xiaomi
📶 Пользователи eSIM более активные в сети: потребляют на 14% больше трафика в сравнении со среднестатистическим абонентом.
Справочно: eSIM — это встроенный в смартфон модуль идентификации абонента, цифровая альтернатива классической SIM-карте. Данные eSIM загружаются на устройство с помощью QR-кода и содержат все необходимые параметры для подключения к сети. Подключить eSIM можно у всех мобильных операторов.
#мобильнаясвязь#SIM#eSIM#мтс