Когда разрабатываете свой 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 вересня 2019 року на площі перед будівлею Державної ради Удмуртської республіки акт самоспалення свідомо здійснив відомий у фіно-угорському світі науковець і громадський діяч Альбєрт Разін. Це був не розпач, не відчай, але спланований протест проти ґеноциду корінного народу зі сторони окупаційного режиму Москви.
✊ Альбєрт Разін був одним із тих, хто усвідомлював весь тягар сучасного становища не тільки удмуртів, а й інших фіно-угрів. Він залишився єдиним, хто не зміг промовчати й не захотів здаватися.
🕯 Альбєрт Разін, власне, завжди відчував біль і розпач одноплемінників й до останнього намагався допомогти своєму народові як справжній патріот. Його вогняна офіра не марна. Вічна пам'ять та слава!
#FinnoUgric#ФинноУграньЮропт#ФіноУгри
⌛ 2019 кизоня тюжяковть 10-це шистонза Удмуртонь элькунань Кирдемастор оцю пуромксонь кутть ваксса Альберт Разин кървястезе эсь прянц. Сон тянь тиезе сянкса, мес сонь ломаньтналонц, илякс — масторонь юрэряйхнень, тапазь тя модати саф лиятне. Конат састь синь кяльснон-вийснон машфтома.
💪 Альберт Разин ульсь фкясь сятнень эзда, конац шарьхкодезе юмамань-арамань сталмоть аф аньцек эсь удмуртонь тъналса, кода стане эди илядыкс суоми-угрань тъналхненге эса. Сон ульсь ськамонза, конанцты ашезь кирдев азомс вал тя лажнамать инкса. Конанц ашель мялец максомс пряшавфтомс.
🪔 Альберт Разин фалу марязе ломаньтналхнень седибичефксснон эди кирнесь мяльхть лездомс эсь тналонцты аф юмамс, ульсь сонь кельгиец-ванфтыец. Толса пряпълхтамац ашезь ту стактевонди. Улеза теенза пефтомлятфнема эди иневалда!
✨Марийцы отмечают праздник Шорыкйол🐑
2 января началась неделя традиционного марийского праздника Шорыкйол. Главное же республиканское народное гулянье пройдет в столице Марий Эл 7 января. Организатором мероприятия выступает региональный центр марийской культуры.
📜Программа и место проведения
Праздничные мероприятия начнутся в 11:00 на территории общественного пространства Марий парк (Ленинский проспект, д. 15). Программа включает:
• костюмированный парад творческих коллективов;
• театрализованную постановку, посвященную традициям праздника;
• выступления фольклорных ансамблей;
• работу игровых и спортивных площадок, таких как Модыш алан («Игровая поляна»), Шӱшканъече («Лыжи-самоходы») и другие;
• традиционные обрядовые действия и гадания – Лум каван («Снежный стог»), Шорыкйол капка» («Ворота Шорыкйол»).
🎯Цели мероприятия
Основными задачами праздника являются сохранение и популяризация национальной культуры народа мари, развитие народных традиций, а также приобщение детей и молодежи к изучению фольклора, сообщил Республиканский центр марийской культуры 🎭.
#ЙошкарОла#МарийЭл#марийцы#финноугры#Шорыкйол#YoshkarOla#MariEl#MariPeople#FinnoUgric#Shorykyol
🌐Доступен каталог марийской традиционной вышивки📖
В 2023 году увидел свет каталог «Марийская традиционная вышивка в этнографическом наследии Т. Е. Евсеева». Это издание впервые представляет в целостном виде музейную коллекцию, собранную известным этнографом и краеведом Тимофеем Евсеевым в 1920-х годах.
✍️ Каталог систематизирует образцы традиционной вышивки луговых мари, а также включает рукописи самого Евсеева с описанием орнаментов и этнографические рисунки Михаила Хохлова. Все эти материалы хранятся в фонде Национального музея Республики Марий Эл имени Т. Евсеева.
Издание было подготовлено в рамках проекта «Молодежная этно-лаборатория» при грантовой поддержке Всероссийского конкурса молодежных проектов 2022 года. Его автор-составитель — кандидат исторических наук Надежда Васканова.
🏛 Каталог будет полезен музейным работникам, историкам, этнологам, мастерам декоративно-прикладного искусства, краеведам, а также всем, кто интересуется историей и культурой марийского народа.
#МарийскаяВышивка#этнография#МарийЭл#марийцы#ТимофейЕвсеев#КультураМари#МарийТӱр#ТрадиционнаяВышивка#каталог#финноугры#MariEmbroidery#Ethnography#MariEl#MariPeople#TimofeyEvseev#MariCulture#MariTyr#TraditionalEmbroidery#Catalog#FinnoUgric