Когда разрабатываете свой 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
http://www.csestack.org/python-list-installed-modules-versions-pip/
The main strength of the Python is, the wide range of external #libraries are available. As we keep coding in Python, we install many packages. It is easy getting a Python list installed #modules on the system. There are a couple of ways you can do that.
Vanadium WebView & Browser Installer
A Magisk/KernelSU module that changes the system WebView with Vanadium WebView and installs the Vanadium Browser.
🔗 Links:
- Download
- Features
- Prerequisites
- Support group
- Source code
Developer: NoneBaiano
Banner by @rkbdi (from Ultimatum browser inspiration)
❤️ Support the Project
If this project makes your life easier, here are a few quick ways to show some love:
⭐ Star the repo/app
☕ Buy a coffee for the developer
🛠 Contribute code, issues, or pull-requests.
🏷 Tags: #Android#Root#Modules
pairipfix
This LSPosed module bypasses the "Get this app from Play" screen that appears when installing Android apps as an APK instead of from the Google Play Store.
🔗 Links:
- Download
- Source code
Developer: ahmedmani
❤️ Support the Project
If this project makes your life easier, here are a few quick ways to show some love:
⭐ Star the repo/app
☕ Buy a coffee for the developer
🛠 Contribute code, issues, or pull-requests
🏷 Tags: #Android#Xposed#Modules
AnghamiPlus
AnghamiPlus is a sophisticated Xposed module that enhances your Anghami music streaming experience by unlocking plus-like features directly on the client side. Built with a modular and safe hooking architecture, it provides plus functionality without modifying server behavior or compromising your account security.
🔗 Links:
- Download
- Features
- How to use
- Support group and channel
- Source code
Developer: Kero309x
❤️ Support the Project
If this project makes your life easier, here are a few quick ways to show some love:
⭐ Star the repo/app
☕ Buy a coffee for the developer
🛠 Contribute code, issues, or pull-requests
⚠️ This app might be breaking copyright laws, use at your own risk. We are not responsible for anything. We are just sharing open source software.
🏷 Tags: #Android#Music#Xposed#LSPatch#Modules
https://docs.python.org/3/library/subprocess.html
The #subprocess module allows you to spawn new #processes, connect to their input/output/error pipes, and obtain their return codes. This module intends to replace several older #modules and #functions.
#python
https://docs.python.org/3/library/modulefinder.html
This module provides a #ModuleFinder class that can be used to determine the set of #modules#imported by a #script. modulefinder.py can also be run as a script, giving the #filename of a Python script as its argument, after which a report of the imported modules will be printed.
http://www.techbeamers.com/python-tutorial-essentials-of-python-socket-programming/
Essentials of Python #Socket Programming You Should Know
Python offers two types of #API libraries that we can use for socket programming. At the low-level, Python utilizes the “socket” library to implement #client and #server#modules for both #connectionless and #connection-oriented #network protocols. Whereas, at the higher-level, You can use libraries like #ftplib and #httplib to interact with application-level network protocols like #FTP and #HTTP.