Когда разрабатываете свой 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
Слава Императору, Space Marine 2 делали люди с чувством меры (чего не скажешь про вселенную в целом), которые не стали растягивать похождения десантуры на 20+ часов, а ограничились коридорной историей на 12. Честно скажу — еще немного и я бы устал от достаточно стандартного набора действий, которые предлагают авторы. Пол-игры вы гасите тиранидов почем зря с четким набором врагов, далее их сменяют хаоситы, у которых тоже все весьма понятно. К концу на нормале я прям уже начал напрягаться.
Все описанное выше могло бы бесить, если бы не такое внимание к деталям и вполне насыщенный сюжет, который крепко разбавлен экшеном. В конце так вообще хочется орать «За Императора» и в сотый раз заводить свой мечь-пилу, чтобы забить ересь в их хаоситские гудки. Ну и, конечно, очень радует, что у такого высококлассного проекта почти весь борд — русские. Кайф да и только.
Еще все очень ругаются на мультиплеер, а именно технологические проблемы с ним, но тут надеюсь починят.
Отвага и честь, в общем! #warhammer40000#games#reviews
По первым шести часам в Space Marine 2 я должен согласиться со всеми рецензентами — игра настолько с любовью и вниманием к деталям сделана, так генерит ситуации и ушатывает бескомпромиссностью Вселенной, что сидишь перед телевизором в режиме «волосы назад» (ну у кого они есть). Тит и компания, конечно, делают вещи, особенно когда их окружает огромная кишащая масса ксеносов. Местами это всё ощущается «Гирзами», но лишь до момента рукопашки, когда тонны костюма несутся за цепным мечом и за кровью не видно неба.
С другой стороны, меня это лично подушатало к концу сессии. На нормале играть без друзей уже потно (ну для меня), не знаю как там Антоша упарывался на ветеране. Тит неповоротлив и местами это прям бесит. Но тут уж ничего не поделаешь, он совсем не Байонетта. Хорошо, что игра не слишком длинная.
Теперь к минусам, которые очевидны. В игре про законы и жесткий кодекс этого самого кодекса в игре нет. Хорошо, что я еще за полгода до упоролся несколькими видео про вселенную и плюс минус в курсе че откуда (хоть и пробелов достаточно), но добавить элементарно раздел, который объясняет основные принципы. Это плюс минус есть везде, а в случае Wukong — это вообще целая энциклопедия и альманах притч. Здесь же какие-то аудиодневники и пиздец — сам разбирайся че это все такое.
Переключение между сюжетными и ко-оп миссиями почему-то направляет тебя в разные игры, а когда ты решаешь возвратиться — отправляется тебе в в самое начало, включая брифинг.
Но это все, конечно, совершенно не мешает Space Marine 2 быть одной из важнейших игр этого года и самой важной во вселенной WH 40.000. С восхитительным эпосом, картинкой и мощной десантурой во главе. Играть необходимо! #warhammer40000#games#reviews
@tlgrmcbot
Qué puede hacer este bot?
Este es el bot oficial de telegramic.org! La gente a menudo me usa para iniciar sesión en el sitio web de Telegramic. Pero puedo hacer más! Si no puede encontrar un contenido de Telegram en Telegramic, ¡puede agregarlo!
Idioma: Inglés
(visto en @BotsGram_cu)
#channels, #search, #index, #bestof, #rating, #reviews, #share, #inline, #explore, #discover, #add, #telegramic, #telegram