Когда разрабатываете свой 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
#Vocabulary
🕸Dormant
🦦 (of an animal) having normal physical functions suspended or slowed down for a period of time; in or as if in a deep sleep
🫧 Ex:- During the winter months, the bears will often go dormant and hibernate.
🌨Basic Synonyms
🌓 asleep
🌓 slumbering
🌓 inactive
🌟Advanced Synonyms
✨ comatose
✨ supine
✨ lethargic
✨ torpid
✨ aestivating
🌔Antonyms
🍀 awake
🍀 wakeful
#Vocabulary
🎶Repertory2⃣
🎼a collection, especially of music or information
🎻 Ex:- This year, the Boston Philharmonic has expanded its repertory to include compositions from Mexico.
🎸Basic Synonyms
collection
#Vocabulary
🎨Repertory1⃣
🎭 the performance of various plays, operas, or ballets by a company at regular short intervals
Ex:- Martin was overjoyed when he learned his audition was good enough to get him accepted at the New York Repertory for Young Composers.
❄️Basic Synonyms
🫧 theater
🫧 troupe
🫧 school
#Vocabulary
📜 Screed
📝a long speech or piece of writing, typically one regarded as tedious
✍Example:-
When they lost the match, the team coach launched into an almost incoherent screed on all the areas the team had to improve in.
📒Basic Synonyms
🖌 rant
📔Advanced Synonyms
🖍 harangue
#Vocabulary
🥢Palatable
🍽(of food or drink)
pleasant to taste; has acceptable taste
🍴Example:-
Tonight, a surprisingly palatable spread will be laid out on the table. Don't be shy — come.
🧉Basic Synonyms
🥤 tasty
🥤 eatable
🍹Advanced Synonyms
🧋 appetizing
🧋 edible
🧋 savoury
🧋 delectable
🧋 luscious
🧋 flavourful
🧃Antonyms
🫗 distasteful
🫗 unsavoury
#Vocabulary
💡Mellifluous
/məˈlɪflu.əs/, /mɛˈlɪflu.əs/
⚜Sweet or musical; pleasant to hear.
💥Her mellifluous voice captivated the audience during her performance.
#Vocabulary
🔸Cacophony
⚜A harsh, discordant mixture of sounds.
💥 The cacophony of honking cars and
shouting pedestrians filled the streets of the busy city.
#Vocabulary
🌺Diffident.
●Lacking or marked by a lack of self-confidence; shy and timid, distrustful of one's own powers.
●He was diffident about his own success.
●Because she was only a first-year student, she was diffident when offering a comment on the professor's lecture.
#Vocabulary
🌺Spurious
/ˈspjʊəriəs/ 《adjective》
●a spurious statement, argument etc is not based on facts or good thinking and is likely to be incorrect.
▪️He demolished the opposition’s spurious arguments.