Когда разрабатываете свой 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
Japanese from Zero! 1
by George Trombley, Yukari Takenaka
Japanese From Zero! 是由专业日语口译员George Trombley和合著者Yukari Takenaka开发的一种创新和综合的日语学习方法。这一系列的课程和技巧在全球课堂中成功教授了超过十年。使用现代且易于理解的语法,Japanese From Zero! 是目前日语学习者以及完全初学者的理想课程。
Japanese From Zero! 系列的第一本书中,读者将学习新的语法概念、超过800个新单词和表达方式,并掌握平假名书写系统。
———
终于将先前一直感兴趣想尝试的事情提上了日程,那就是把日语也学了。虽然不知道能学到什么程度,能学多少,但是好的开始是成功的一半+兴趣永远是最好的老师。
Japanese From Zero! 整个系列共有5本,我选择这个系列之前也是做了一定的搜索调查,对于日语入门这块的适宜材料,此系列在外网的认知度以及用户群体的评价都是相当可以的。日语词汇分为Hiragana、Katakana以及Kanji。昨天刚把系列第一本看完,整本书会带你学完日语中的所有Hiragana,并且每节课都配有课后练习。
此书在大陆没有上市且没有中文版,遂需要有一定的英文基础才可学习。不过因为是语言教材类书籍,所以本身使用的英文内容也不是非常复杂,还是好入手的。建议使用电子版的用户可以选择打印出来后,进行学习练习,或者像我目前一样,使用带手写笔的设备,直接在PDF上面标注和练习。
咱们下一本再见~
———
- 原版中文实体书:大陆未上市,无中文版
- 原版中英文资源:见评论区分享
- 原版有声书资源:本书无有声书版本
———
频道:xzの小站
#Ebooks#Books
Books change lives. Let us help you find the ones that will change yours. Join us! 🖊️📖📚📊
#booklovers#ebooks#bookrecoumandations
Join us @booksreviewer555
From classics to hidden gems, we review them all! Join and discover your next favorite book. 📚📊#booklovers#ebooks#bookrecoumandations
Join us @booksreviewer555
🏆 Bot of the Day 🏆
@eBukBot brings complete feedbooks (Public Domain) ebook catalog into Telegram. Browse recent additions, search by title, author and/or description, share them on chats sending ebook preview message and download in multiple formats. Just click and start reading!
Search eBooks in English, Spanish, German, Italian or French.
#eBooks#Public#Domain#Books