Когда разрабатываете свой 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
📱Top Social Networking Apps Worldwide by Downloads
May 2019
The most downloaded social networking app worldwide for May 2019 was #Facebook with more than 60.6 million installs. The markets with the most new Facebook installs during this period were India at 24% of total downloads, followed by Indonesia🇮🇩 at 12% and Brazil🇧🇷 at 8%.
#TikTok was the second most installed social networking app worldwide last month with close to 56 million installs, with the largest portion of those coming from India🇮🇳 at 57%, followed by China🇨🇳 at 8%. #Snapchat, #Instagram and, #Likee rounded out the top five most installed social networking apps worldwide for the month.
🔗 Read more on SensorTower.
🚀@PerspectiveIX
📡Pulse: Every Sunday.
❓What's you current favourite social networking app? Share it in the Comments.
📊Top Social Media Apps Worldwide for February 2020 by Downloads
#TikTok was the most downloaded social media app worldwide for February 2020 with 112.8 million installs, which represented a 96.2% YoY increase.
The countries with the most downloads of the app during this period were India 🇮🇳 at 41.3% of its total installs and Brazil 🇧🇷 at 8.6%.
#Facebook was the second most installed #SocialMedia app worldwide last month with 57 million downloads, which represented a nearly 8% increase from February 2019.
The countries with the largest number of Facebook installs were India 🇮🇳 at 23.8%, followed by Brazil 🇧🇷 at 9%.
#Instagram, #Likee, and #Snapchat rounded out the top five most downloaded social media apps worldwide for the month.
🦅@PerspectiveIX via SensorTower.
📱Top Social Media Apps Worldwide by Downloads
Q2 2019
#Facebook was the most downloaded #SocialMedia app worldwide for 2Q19 with close to 174 million installs.
#TikTok was the second most installed social media app worldwide last quarter with more than 156 million installs. #Instagram, #Snapchat, and #Likee rounded out the top five most installed social media apps worldwide for the quarter.
🔗 Read more on SensorTower.
❗️ Check our Instagram Stories!
🦅@PerspectiveIX
¿Qué puede hacer este bot?
@AllSavesBot
Descarga fotos, videos y audio de:
Instagram, YouTube, Facebook, TikTok, Pinterest, Twitter y Likee
Idiomas: Inglés, Ruso
#descarga#videos#fotos#audio#instagram#facebook#tiktok#pinterest#twitter#likee
(Visto en @BotsGram_Cu)
На расширенном заседании IT-Комитета ГД обсудили статус выполнения требований закона о «приземлении» IT-гигантов
⠀
Всего 13 компаний, которые попадают под требование закона. И уже большинство из них приступили к «приземлению». #Apple и #Spotify выполнили это требование, а #Wargaming и #AliExpress уже даже открыли представительства на территории РФ. В ходе заседания Комитета #TikTok, #Likee и #Viber также объявили о создании полноценных российских юрлиц, #Zoom тоже сообщил о начале процедуры «приземления».
⠀
Напомню, что закон о «приземлении» IT-гигантов позволит компаниям поддерживать российских пользователей, предоставляя возможность выражать свою точку зрения в рамках соблюдения законов внутри страны.
⠀
С целью ускорения процедуры Комитет подготовил поправки в Кодекс РФ об административных правонарушениях, которые устанавливают ответственность за «неприземление», а также за нарушение установленных ограничений – на рекламу, на сбор персональных данных.
⠀
Тем не менее ряд компаний до сих пор не выполнили ни одного пункта требований, и это: #Google, #Meta, #Discord, #Pinterest, #Twitch и #Telegram. Надеюсь, что конструктивный и живой диалог поможет развеять сомнения компаний и побудит приступить к соответствующим действиям.