TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #62 · 4 апр.

Когда разрабатываете свой 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

Hashtags

Резултати

Пронајдени 2 слични објави

Пребарај: #easternghouta

当前筛选 #easternghouta清除筛选
Анна Чапман

@chapmananya · Post #256 · 27.02.2018 г., 15:01

«Россия несет ответственность за гибель людей от химического оружия в Сирии» – так утверждает госсекретарь США Рекс Тилерсон. Якобы Башар Асад не выполнил соглашение 2013 года об уничтожении своего химического оружия, травит своих граждан, а мы его защищаем. К слову о выполнении соглашений. Россия свои химарсеналы полностью ликвидировала полгода назад. США – до сих пор нет – говорят, им денег на это не хватает… Что касается Сирии, то не было предъявлено никаких доказательств, что за химатаками стоит правительство Асада, но эти нападения все время пытаются использовать как повод для бомбардировок страны. Тут президент Трамп назвал наши действия в Сирии гуманитарным позором, – мне порой кажется, что политики США никогда не слышали о таких словах, как «стыд» и «совесть». #idlib#Восточнаягута#UN#MiddleEast#ISIS#terrorism#геополитика#easternghouta#Damascus

Анна Чапман

@chapmananya · Post #248 · 23.02.2018 г., 13:00

Российские войска в Сирии переключили основное внимание с северной провинции Идлиб на борьбу с террористами в пригороде Дамаска под названием Восточная Гута. Боевики уже 6 лет держат под контролем территорию возле сирийской столицы, которую можно было бы сравнить с подмосковным городом Королев или Мытищи. Едва наши летчики вместе с сирийскими наземными войсками всерьез взялись за ликвидацию этого оплота террористов, как политики США и даже генсек ООН в один голос начали требовать прекращения операции. Снова обвинения в военных преступлениях, снова заявления о гуманитарной катастрофе, снова надо прекратить страдания «умеренных» террористов. Желаю максимальных успехов российским и сирийским защитникам отечества. А западные политики пускай говорят, что угодно. #idlib#Восточнаягута#UN#MiddleEast#ISIS#terrorism#геополитика#easternghouta#Damascus