Когда разрабатываете свой 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
📸NASA-ն նոր լուսանկարներ է հրապարակել Artemis II առաքելությունից
Լուսանկարներում երևում են Երկրի խլացված կապույտ երանգները՝ խառնարաններով ծածկված լուսնային մակերևույթի ֆոնին։ Այս լուսանկարները օգնում են ավելի լավ հասկանալ Լուսնի բարդ կառուցվածքը և ցույց են տալիս գիտական դիտարկումների արժեքը՝ առաքելության ընթացքում։
#NASA
🚀🌕 NASA-ն հրապարակել է Լուսնի լուսանկարը՝ արված Արտեմիս 2-ի անձնակազմի կողմից։
Պատկերի աջ կողմում երկրից երևացող հատվածն է, ձախ կողմում՝ մարդկային աչքով երբեք չերևացածը։
#NASA
🚀 NASA ishchilarni qisqartirmoqda: uchta muhim bo‘lim yopildi
🚀 NASA agentligi byudjetni optimallashtirish va samaradorlikni oshirish maqsadida masshtabli qisqartirishlarni boshladi.
📉 Qaysi bo‘limlar yopildi?
- Aerokosmik texnologiyalar bo‘limi
- Xavfsizlik va missiyalarni boshqarish ofisi
- Fanda ilg‘or tadqiqotlar markazi
🇺🇸 AQSh hukumati tomonidan moliyalashtirishning qisqarishi va resurslarni boshqa yo‘nalishlarga yo‘naltirish zarurati tufali hammasi sodir bo'ldi.
🔭NASA endi asosan Oy va Mars missiyalariga e'tibor qaratadi, biroq bu qisqartirishlar kelajakdagi loyihalarga qanday ta'sir qilishini vaqt ko‘rsatadi.
➡️#nasa | Birinchi raqamli IT-Blog
美航天局局长艾萨克曼:外星人存在几率“相当高”,未来将会发现人类不孤独的证据
美国国家航空航天局(NASA)局长贾里德艾萨克曼表示,寻找外星生命是美国航天任务的重要目标之一。艾萨克曼指出,“我们是否孤独”这一问题贯穿所有科学与探索任务。 NASA 的职责是探索宇宙,解开未知。未来月球南极基地可能配备望远镜,用于持续推进相关探索。
标签:#nasa
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot
NASA 局长认为冥王星是行星
#NASA
2006 年国际天文联合会(IAU)修正了行星定义,将冥王星降级为矮行星,以与其它八大典行星相区分。此前天文学家在柯伊伯带发现了与冥王星质量相近甚至更大的天体,挑战了其行星地位。现在亿万富翁、NASA 局长 Jared Isaacman 在参议院听证会上表示坚决支持恢复冥王星被剥夺的行星地位,称 NASA“目前正在撰写文件,准备在科学界推动重新审视这一问题”。他的言论被认为是分散了对真正科学问题的关注,而且他支持削减 NASA 预算一半的提议引发了天文学家的抨击。
https://www.usatoday.com/story/news/nation/2026/04/30/nasa-jared-isaacman-pluto-planet/89869894007/
https://news.sciencenet.cn/htmlnews/2026/5/564167.shtm
NASA Roman 太空望远镜最早九月发射
#NASA
NASA 宣布 Nancy Grace Roman 太空望远镜最早今年九月发射最晚 2027 年 5 月发射。望远镜以 NASA 首任天文学部门女主任的名字命名,它属于红外望远镜,核心任务包括探测暗能量、发现系外行星及验证广义相对论宇宙时空曲率。望远镜使用美国国家侦察局捐赠的 2.4 米口径主镜(当年 NRO 捐赠了两台主镜),配备了两台科学仪器:3 亿像素多波段红外相机大视场仪表(WFI),能直接观测邻近恒星周围的类木行星日冕仪(CGI)。
https://www.nasa.gov/image-article/nasa-targets-early-september-for-roman-space-telescope-launch/
https://en.wikipedia.org/wiki/Nancy_Grace_Roman_Space_Telescope