Когда разрабатываете свой 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
#Bluesky#蓝天#订阅服务#打赏#开源#去中心
Bluesky即将推出订阅与创作者变现计划
根悉,Bluesky蓝天首席运营官COO Rose Wang称,开源、去中心微博平台Bluesky将于2025年初推出订阅服务与创作者变现功能。
目前,Bluesky基础服务是没有广告的,用户可以自定义域名(handle)、自定义屏蔽、订阅其他用户等。订阅服务是一种基于基础服务的增值服务,而不是限制基础服务的订阅服务。
订阅增值服务将提供个性化工具,如自定义图像、上传高质量视频,域名的特殊功能;不搞蓝标认证,核心功能仍免费开放。
开通打赏功能。Bluesky平台计划推出创作者“打赏”功能(如支持patron赞赏或自己开发支付系统),允许用户直接支持创作者并按交易额分成。由于支付系统复杂,该功能预计得等一年多才会上线。
Rose Wang强调,Bluesky具有开放性,是以用户为中心的平台(built by people, built for people),而不是以算法为中心的平台;Bluesky提供的是一套协议,而用户可携带粉丝群切换平台,外部链接分享和受众直达不受限制。
此外,她还表示,Bluesky平台明确不会引入加密货币或NFT等金融功能。
通过订阅和创作者经济计划,Bluesky希望吸引更多用户与创作者,推动创作者经济持续发展。
目前平台用户已突破2500万,其中约360万来自巴西。
据蓝天官方回复邮件可知,蓝天即将为用户提供邮箱功能,或许会简化账号程序 (20250213 Update)。
参考:Buffer、Elpais、Fastcompany
说明:Bluesky CEO Jay Graber表示,“Bluesky”源自母亲为其取的中文名“蓝天”,寓意自由。
耕读蓝天平台账号: https://bsky.app/profile/igengdu.com
#python#ai_prompts#ai_skill#bluesky#claude#claude_code#clawhub#deep_research#hackernews#instagram#openclaw#polymarket#recency#reddit#research#social_media#tiktok#trends#twitter#web_search#youtube
/last30days is a Claude Code skill that scans Reddit, X, Bluesky, YouTube, TikTok, Instagram, Hacker News, Polymarket, and web for your topic's top discussions, upvotes, bets, and videos from the last 30 days, then synthesizes a cited briefing with ready-to-use prompts. New v2.9.5 adds Bluesky, "X vs Y" comparisons, and auto-saves to build your research library. Install easily via `/plugin install last30days@last30days-skill`. You stay ahead on AI trends, tools, and techniques with real community insights in minutes, skipping hours of manual searching.
https://github.com/mvanhorn/last30days-skill