Когда разрабатываете свой 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
NewPipe
(YouTube Premium)
🆕Обновление
Неофициальный клиент для популярного сервиса YouTube со всеми преимуществами Premium версии. Нет рекламы и доступно фоновое воспроизведение.
⚙️Полная Premium версия, вырезана реклама, доступно скачивание видео и аудио.
#YouTube@pm_plus
#NewPipe@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
#NewPipe on #Linux, Using Android_translation_layer
https://flathub.org/apps/net.newpipe.NewPipe
Comments
https://news.ycombinator.com/item?id=41963932
#yt
NewPipe x SponsorBlock
A fork of NewPipe with SponsorBlock functionality.
The implementation is still a bit basic but it generally works pretty well.
💡 How can I get this?
Builds will be uploaded in the Releases section. Please download the APK from the newest release and install it on your device.
💡 Why isn't this in upstream NewPipe?
The developer team behind the official NewPipe decided that they do not want to include this kind of functionality in their app. See https://newpipe.schabi.org/blog/pinned/newpipe-and-online-advertising/ and https://github.com/TeamNewPipe/NewPipe/pull/3205 for more information and discussion.
We obviously disagree but we respect their decision and continue to offer SponsorBlock in NewPipe via this fork.
https://github.com/polymorphicshade/NewPipe#newpipe-x-sponsorblock
#newpipe#sponsorblock
NewPipe Releases (unofficial) - NewPipe's GitHub releases
The APK sent here cannot be installed over F-Droid's one because they use different signing keys (details)
This pull request adds an experimental SponsorBlock integration, the fork's apk is linked there
👉🏼https://t.me/newpipe_releases👈🏼
💡 read this as well: YouTube video hosting alternatives
https://t.me/NoGoolag/2284
#newpipe#youtube#alternatives
📡@libreware📡@nogoolag
BraveNewPipe
A libre lightweight streaming front-end for Android
Due to restrictive project policy, the #NewPipe team refuses to add platforms that they find offensive. This fork (BraveNewPipe) will not be as restrictive. As long as the platforms work in the spirit of free speech, they could be integrated.
Nevertheless, platforms that promote pornography or other degrading things will NOT be included here.
Contribute
This fork will focus only on integrating other platforms. Unrelated patches will be rejected for now.
Feel free to suggest which alternative platforms should be included. Any contribution (development/testing/bug report) is greatly appreciated.
Which additional platforms are supported?
Bitchute
Rumble
Other features not found in NewPipe
-NewPipe x Sponsorblock into this fork
-searchfilters: in the action menu of the search page you can now change the search behavior for the actual search. The supported content/sort filters depend on the service
https://github.com/bravenewpipe/NewPipe
Download
https://github.com/bravenewpipe/NewPipe/releases
#yt#video#streaming
#java#4k#android#bandcamp#download_videos#newpipe#peertube#soundcloud#translation#video#watch#youtube_video
NewPipe is a free, open-source Android app for ad-free streaming and downloading videos/audio from YouTube, SoundCloud, PeerTube and more, with background play, pop-up mode, subscriptions without accounts, and no Google tracking for full privacy. The team is rewriting the code for a modern, stable version—download nightly builds to try new features early. This benefits you by saving data/battery, enabling offline/multitasking use, and protecting your data on any device.
https://github.com/TeamNewPipe/NewPipe