Когда разрабатываете свой 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
💎 Топ-10 акций с наименьшим P/E
Один из самых ключевых финансовых мультипликаторов — P/E (price-to-earnings) — показывает, сколько инвесторы готовы заплатить за каждый сум (или доллар) прибыли компании. Проще говоря, чем ниже P/E, тем дешевле компания оценивается рынком относительно своих заработков.
🌱 Низкий P/E может означать, что акция недооценена и инвесторы пока не верят в её потенциал — или, наоборот, что бизнес переживает спад и прибыль падает.
🚀 Высокий P/E, напротив, указывает на ожидания будущего роста — рынок готов переплачивать за перспективу (часто это касается IT-компаний). Но иногда такие компании оказываются переоценёнными, если рост не оправдывается.
В нашем рейтинге по итогам III квартала лидируют банковские акции — 🏦«Узпромстройбанк», 🏦«Хамкорбанк», 🏦«Универсал банк», 🏦«Алокабанк». Это естественно: банки традиционно показывают стабильную прибыль, а их котировки растут медленнее, поэтому мультипликатор P/E у них остаётся низким.
📌 Низкий P/E — не всегда гарантия выгодной покупки, но точно повод присмотреться к бизнесу и понять, почему рынок оценивает прибыль так дешево.
—
💎 Eng past P/E ko‘rsatkichiga ega TOP-10 aksiyalar
Moliyaviy tahlilda eng muhim ko‘rsatkichlardan biri — P/E (price-to-earnings) kompaniya foydasining har bir so‘miga (yoki dollarga) investorlar qancha to‘lashga tayyorligini bildiradi. Oddiy qilib aytganda, P/E qanchalik past bo‘lsa, kompaniya bozorda o‘z foydasiga nisbatan shunchalik arzon baholanadi.
🌱 Past P/E ko‘rsatkichiga ega aksiyalar ko‘pincha bozor tomonidan hali to‘liq qadrlanmagan yoki vaqtinchalik ishonchsizlikka duch kelgan kompaniyalar bo‘lishi mumkin. Biroq bu ba’zan ish faoliyatidagi pasayish yoki foydaning kamayishi bilan ham bog‘liq bo‘ladi.
🚀 Yuqori P/E esa, aksincha, kelajakdagi o‘sish kutilayotganini anglatadi — bozor istiqbol uchun ko‘proq to‘lashga tayyor (bu holat ko‘pincha IT-kompaniyalarga xos). Ammo o‘sish kutilganidek bo‘lmasa, bunday aksiyalar ortiqcha baholangan bo‘lishi ham mumkin.
III chorak yakunlariga ko‘ra, bizning reytingda bank aksiyalari — 🏦“O‘zsanoatqurilishbank”, 🏦“Hamkorbank”, 🏦“Universal bank”, 🏦“Aloqabank” yetakchilik qilmoqda. Bu tabiiy hol: banklar odatda barqaror foyda ko‘rsatadi, lekin ularning aksiyalari sekinroq o‘sadi, shuning uchun ularning P/E ko‘rsatkichi past bo‘lib qoladi.
📌 Past P/E har doim ham foydali xarid kafolati emas, ammo bu ko‘rsatkich kompaniyani chuqurroq o‘rganish va bozor nima uchun foydani arzon baholayotganini tushunish uchun jiddiy sababdir.
📈#рейтинг#PE
#java#bedrock#bedrock_edition#bedrock_to_java#bungee#fabric#geyser#geysermc#hacktoberfest#java#java_edition#minecraft#minecraft_bedrock_edition#packet#pe#protocol#proxy#spigot#translator#velocity
Geyser is a free tool that lets you play Minecraft across different versions by connecting Minecraft Java Edition servers. It works by translating data between the two game versions, enabling cross-platform play on devices like Windows, iOS, Android, and consoles. You can install it as a plugin or standalone, and it supports recent Minecraft versions. This means you can join Java servers even if you only have Bedrock Edition, expanding your multiplayer options without needing a separate Java account if you use the Floodgate plugin. It’s great for seamless crossplay but may have some minor limitations due to game differences[1][2][5].
https://github.com/GeyserMC/Geyser