TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #62 · 4 апр.

Когда разрабатываете свой 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

Hashtags

Резултати

Пронајдени 2 слични објави

Пребарај: #latinime

当前筛选 #latinime清除筛选

🇷🇺ИНТЕГРАЦИЯ НАШИХ ЯЗЫКОВ В ANDROID: РАСЧЕТ МАСШТАБА Включение Тувинской клавиатуры в AOSP (Android Open Source Project) демонстрирует возможность расширения языковой поддержки Android. Сейчас, когда Тувинская раскладка находится на этапе финального утверждения, необходимо оценить, какой ресурс потребуется для дальнейшего масштабирования — например, для 120 языков, использующих схожий принцип кириллической основы. * Оценка Ресурсов (в Байтах и Строках) Базируясь на фактическом объеме данных Тувинской клавиатуры (36 букв) и с учетом запаса на более сложные алфавиты, мы принимаем средний показатель в 25 КБ на один язык. При масштабировании на 120 языков, это дает следующие результаты: | Показатель | Объем на 1 Язык | Общий Объем для 120 Языков | | Объем данных (для AOSP) | 25 КБ | 3.0 Мегабайта | | Объем кода (добавленные строки) | ≈ 324 строки | ≈ 39 000 строк | | Количество файлов (XML-раскладки) | ≈ 6 файлов | ≈ 720 файлов | Вывод: Общий объем данных составляет всего 3 МБ! С технической точки зрения, такой размер не представляет проблемы для кодовой базы Android. Основная сложность заключается в лингвистической и логистической работе. * Ключевые Аспекты Работы с AOSP Вклад такого масштаба требует строгого подхода к организации процесса: 1. Проектирование Раскладок: Необходимо обеспечить унифицированное и эргономичное размещение уникальных символов (например, их расположение на менее используемых Русских клавишах, как это было сделано для Тувинского языка) для всех 120 алфавитов. 2. Проверка Качества (QA): Каждый из 720 файлов требует проверки на соответствие стандартам кодирования и корректность ввода символов. Этот процесс критически важен для принятия кода. 3. Стратегия Code Review: Для ускорения процесса интеграции через Gerrit, проект необходимо разделить на 20-30 управляемых Pull Request-ов. Это позволит ревьюерам AOSP проводить проверку поэтапно и снизит время ожидания. Резюме: Задача по интеграции 120 языков требует значительной организационной и лингвистической работы, но является технически реализуемой. Этот вклад напрямую обеспечивает доступность родного языка для миллионов пользователей Android. #AOSP#Android#ЯзыковаяПоддержка#LatinIME#OpenSource#Разработка

Раскладка Тувинского языка добавлена в AOSP (Android Open Source Project) Рад сообщить о важном этапе в развитии поддержки языков в Android: Патч, добавляющий раскладку Тувинского языка (Tuvan) в компонент системной клавиатуры LatinIME, был официально объединен (merged) во внутреннюю кодовую базу Android Open Source Project (AOSP). Теперь буду по вашим клавиатурам делать то же самое. Давайте сделаем это совместно – присылайте свои клавиатуры! Изменение получило все необходимые технические (Code-Review) и лицензионные (Open-Source-Licensing) подтверждения от инженеров, курирующих AOSP. Изменение внутренне слито (merged) и готовится к релизу. Что это значит для пользователей: Носители Тувинского языка вскоре получат корректную и удобную раскладку клавиатуры, интегрированную в стандартные средства ввода Android. Даты релиза: Точные сроки выпуска публичного обновления зависят от цикла релиза Android и поставщиков устройств, но, как правило, объединенные изменения появляются в ближайших крупных или ежеквартальных системных обновлениях AOSP. P.S.: В ближайшее время планируется отправка других вариантов Тувинской клавиатуры, чтобы обеспечить максимально разнообразное и удобное использование языка на устройствах Android. #AOSP#Android#LatinIME#ТувинскийЯзык#Tuvan#OpenSource#Разработка