Когда разрабатываете свой 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
📌 Onlayn ish intervyulariga tayyorgarlik ko'rish uchun 6 dona maslahat
1. Texnologiyalar bo'yicha bilim va ko'nikma
Kompaniya talab qilgan texnologiyalar bo'yicha ko'nikmalaringiz bo'lishi muhim
2. Oldindan mashq qiling va tayyorlaning
Oldindan bo'lib o'tadigan suhbatga tayyorlaning, bu suhbatni qulay o'tkazishingizga yordam beradi
3. Vaqtida qatnashing
Suhbatga vaqtida tayyor bo'lib turing imkoni bo'lsa 15 minut oldin o'riningizga joylashib oling
4. Professional tarzda kiying
Ko'pchilik onlayn suhbat bo'lganligi sababli o'z kiyimlariga e'tibor berishmaydi, siz esa chiroyli va tartibli kiyining hamda yorug' xonaga joylashib oling
5. Diqqat bilan tinglang va aniq gapiring
Onlayn suhbatda, suhbatdoshingizni diqqat bilan tinglang va aniq mazmunli gapirishga harakat qiling
6. Suhbatdan keyin chiroyli xayrlashing
Suhbat tugallangandan so'ng, suhbatdoshingizga rahmat aytib u bilan chiroyli xayrlashing
#epam#dotnetuz
.NET Uzbekistan Community
______
Telegram | Instagram | Youtube
#vacancy#dotnetuz
“.NET Uzbekistan Community” is looking for a .NET instructor
We are looking for a .NET instructor who can help to our lead teachers remotely.
Requirements:
1. English (Elementary+)
2. C#/.NET (1+ year)
3. Mentoring
Salary: 5$ per hour
Contact:@iCloudBMX
.NET Uzbekistan Community
➖➖➖➖➖➖➖➖➖➖➖
Telegram | Instagram | Youtube
📌 EPAM Training Center launches an internship for aspiring .NET Developers.
The program focuses on teaching you to solve tasks and getting practical experience. You will learn the concepts of .NET and the most common technologies, frameworks, and tools for working with .NET Core.
Upon completing the program, you will have an opportunity to join our global team of 61 600+ brilliant minds.
Learn more about our requirements and apply via the links below.
https://training.epam.uz/Training/Details/3384?lang=en
#epam#intern#dotnetuz
.NET Uzbekistan Community
➖➖➖➖➖➖➖➖➖➖
Telegram | Instagram | Youtube
Background uchun rasm (o'zimizni maxsulot 😉)
Canva da o'zroq ter to'kdik, community ni kengaytirishga yordam bering!
#blue#background#dotnetuz
.NET Uzbekistan Community
__________
Telegram | Instagram | Youtube
.NET School
DSR kompaniyasining kuchli mutaxassislaridan .NET ni ingliz tilida o’rganing. O’z ilmlarini ulashish maqsadida .NET school loyihasiga start beribdi. Balki, aktivlarni ishga olib qolar 🧐
Batafsil: https://t.me/DSR_Tashkent/47
#dsr#dotnetuz#school
.NET Uzbekistan Community
➖➖➖➖➖➖➖➖➖➖
Telegram | Instagram | Youtube
Doim olg'a
Ushbu video - job interview larda kamida 10 marta yiqilganlar uchun bag'ishlanadi!😄
👨🏫 Avtor: Abdukarim Mirzayev
#motivation#abdukarimmirzayev#dotnetuz
.NET Uzbekistan Community
__________
Telegram | Instagram | Youtube
Siz ham harakat qiling!
dot-net.uz jamoasi a'zosi Suxrob Hayitmurodov EPAM Systems kompaniyasiga .NET bo'yicha internship ga qabul qilindi. Jamoa nomidan kelgusi ishlariga muvaffaqqiyatlar tilab qolamiz.
#epam#dotnetuz#yangilik#dotnet
.NET Uzbekistan Community
______
Telegram | Instagram | Youtube
Siz ham harakat qiling!
dot-net.uz jamoasi a'zosi Sultonbek Rahimov EPAM Systems kompaniyasiga .NET bo'yicha internship ga qabul qilindi. Jamoa nomidan kelgusi ishlariga muvaffaqqiyatlar tilab qolamiz.
#epam#dotnetuz#yangilik#dotnet
.NET Uzbekistan Community
______
Telegram | Instagram | Youtube
Siz ham harakat qiling!
dot-net.uz jamoa a'zosi Abdulloh Tolibjonov EPAM Systems kompaniyasiga .NET bo'yicha internship ga qabul qilindi. Jamoa nomidan kelgusi ishlariga muvaffaqqiyatlar tilab qolamiz.
#epam#dotnetuz#yangilik#dotnet
.NET Uzbekistan Community
______
Telegram | Instagram | Youtube
Siz ham harakat qiling!
dot-net.uz jamoa a'zosi Farrux Xolmatov EPAM Systems kompaniyasiga .NET bo'yicha internship ga qabul qilindi. Jamoa nomidan kelgusi ishlariga muvaffaqqiyatlar tilab qolamiz.
#epam#dotnetuz#yangilik#dotnet
.NET Uzbekistan Community
______
Telegram | Instagram | Youtube