Когда разрабатываете свой 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
「How to Use Microsoft Outlook as an RSS Feed Reader」
此前推送过一篇用 #Outlook 客户端作 #RSS阅读器 的简介,这次来个图文版:
https://www.howtogeek.com/710645/how-to-use-microsoft-outlook-as-an-rss-feed-reader/
微软承认 Outlook 全球故障:德语特殊字符全变问
Outlook 用户全球性服务故障,导致德语变音符号显示为问号。读者 Florian 排查发现,邮件发往 Strato、DomainFactory 或德国本土的 Microsoft 365 租户时正常;唯独发往托管在美国服务器上的 Microsoft 365 租户后变音符号才会丢失。 IT之家援引博文介绍,针对此问题,社区流传一种临时修复方案:用户可在 Outlook 的“选项”->“高级”->“国际选项”中,将首选编码从“西欧(ISO)”更改为“Unicode(UTF-8)”。 这一操作能解决约 90% 的手动撰写邮件显示问题。
标签:#outlook#微软
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot
🚨 Hackers known as "ToddyCat" found a new way to steal #Outlook emails.
Their tool TCSectorCopy skips Outlook locks and copies mail files straight from the disk — no network use, no alerts.
They also use TomBerBil and SharpTokenFinder to steal OAuth and #Microsoft365 tokens.
More details here ↓ https://thehackernews.com/2025/11/toddycats-new-hacking-tools-steal.html
#RSS阅读器#Outlook#技巧
没错,Outlook也可以当阅读器用:
「How to add an RSS feed to Outlook 365」 by AddictiveTips
https://www.addictivetips.com/microsoft-office/add-rss-feed-outlook-365/
发现于
https://twitter.com/RSSCircus/status/1252486912331448320