Когда разрабатываете свой 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
💻 Бесплатный мини-курс: MySQL для новичков.
• Еще один бесплатный курс от Selectel для новичков, который описывает установку и настройку базы данных MySQL и как ими управлять, Вы научитесь работать с таблицами и разными типами данных, создавать ключи и настраивать права доступа. В конце курса — подборка полезных книг, которые точно пригодятся в начале пути.
- Как установить MySQL на Windows;
- Как установить и настроить MySQL в Ubuntu 20.04;
- Создание базы данных в MySQL;
- Типы данных в MySQL;
- Как создавать таблицы в MySQL (Create Table);
- Создание нового пользователя и настройка прав в MySQL;
- Сброс пароля root в MySQL;
- ALTER TABLE — изменение таблицы в SQL;
- Insert в MySQL — добавление данных в таблицу;
- Работа с командой UPDATE — как обновить данные в таблице MySQL;
- Как установить и использовать MySQL Workbench;
- Как создать первичные и внешние ключи MySQL;
- Книги по MySQL: пособия для начинающих и продолжающих.
#MySQL
https://www.tutorialspoint.com/python/python_database_access.htm
Python - #MySQL#Database Access
The Python standard for database interfaces is the Python DB-API. Most Python database interfaces adhere to this standard.
You can choose the right database for your application. Python Database API supports a wide range of database servers such as
#python#django#MySQL
🐍
The Ultimate Django Series Part 3
Description
This course is the 3 part of a series. Build production-grade backends with industry best practices.A comprehensive, fun and highly-practical course that prepares you for the job
• Building an API to upload files
• Sending emails
• Running background tasks with Celery
• Scheduling periodic tasks
• Monitoring scheduled tasks
• Writing automated tests with PyTest
• Running performance tests with Locust
• Profiling with Silk
• Implementing caching with Redis
• Managing static assets
• Logging
• Managing development and production configuration
• Deploying to Heroku
• Django best practices
• And much, much more!
Author: Mosh Hamedani
Language: English
Duration: 4h+
🔗Link
-----
Main channel:@repo_science
Coupons: @freecoupons_reposcience
-----
#python#django#MySQL
🐍
The Ultimate Django Series Part2
Description
This course is the second part of a series. The first part covers the fundamentals of building websites with Python and Django. In this part, you'll learn:
• Fundamentals of RESTful APIs
• Working with class-based views
• Creating serializers
• Using mixins and generic views
• Generating routes with routers
• Filtering, searching, sorting, and pagination
• Django authentication system
• Creating custom User models
• Securing APIs with JSON Web Tokens (JWT)
• Using signals to decouple apps
• Troubleshooting common errors
• Applying best practices
• And much, much more!
Author: Mosh Hamedani
Language: English
Duration: 5h 41m
🔗Link
-----
Main channel:@repo_science
Coupons: @freecoupons_reposcience
-----
#python#django#MySQL
🐍
The Ultimate Django Series
Description
Master Django to Build Awesome Backends! This course is the first part of a series. In this part, you'll learn
• The fundamentals of web development
• Installing Django
• Creating and understanding Django projects
• Building reusable Django apps
• Building a data model for an e-commerce application
• Implementing generic relationships using Content Types Framework
• Setting up and using MySQL in your Django projects
• Creating and updating database tables using Django migrations
• Populating your database dummy data
• Querying and manipulating data using Django ORM
• Managing your application data using Django admin
• Django best practices
• And much, much more!
Author: Mosh Hamedani
Language: English
Duration: 4h 48m
Subtitle: Included
🔗Link
-----
Main channel:@repo_science
Coupons: @freecoupons_reposcience
-----
https://github.com/aio-libs/aiomysql
#aiomysql is a "driver" for accessing a #MySQL database from the #asyncio (PEP-3156/tulip) framework. It depends on and reuses most parts of #PyMySQL . aiomysql tries to be like awesome #aiopg library and preserve same api, look and feel.
Internally aiomysql is copy of PyMySQL, underlying io calls switched to async, basically yield from and asyncio.coroutine added in proper places)). sqlalchemy support ported from aiopg.