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

TGINSIGHT SIMILAR POSTS

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

Изворен канал @pythonotes · Post #173 · 28 окт.

Для тех кто пишет расширения на PyQt/PySide для CG-софтов. Когда я только начинал писать тулзы под Maya (тогда еще версия 2010-2011) мне приходилось ручками ставить PyQt4 под Maya. Даже написал мануалы по установке на своём сайте. Но потом стал доступен из коробки PySide и позже он обновится до PySide2. Для некоторых систем была поддержка PyQt5. И как простому разработчику поддерживать этот зоопарк? Ведь хочется чтобы тул работал на любой версии (вы тоже делали модуль что-то типа import_qt.py?😁) На помощь приходит проект Qt.py который поставил себе цель унифицировать использование Qt-биндингов вне зависимости от среды где запускается код. Те, кто давно пишут на Qt, скорее всего знают этот проект. Он стал стандартом для CG-индустрии и используется в топовых студиях и проектах. Qt․py помогает запускать один и тот же код на разных платформах с разными вариантами Qt-библиотек. Это может быть как интеграция в CG-софт, так и переносимость стендалонов между разными платформами с разными версиями Python. Я решил рассказать о некоторых особенностях работы с этой библиотекой. Сегодня о том, как установить и использовать Qt․py и что это вам даёт. Установка pip install Qt.py Чтобы начать использовать Qt․py в коде достаточно заменить импорт вашего варианта Qt-биндинга на Qt․py from [PySide|PyQt4|PySide2|PyQt5] import QtWidgets => from Qt import QtWidgets Теперь ваш код будет поддерживать любой вариант биндинга Qt в Python. При этом не потребуется использовать if-else конструкции под разные версии. Все вызовы теперь одинаковы. Всё что нужно сделать, это написать его по правилам PySide2. Именно эта версия была взята за основу. Приоритет импорта такой: 1. PySide2 2. PyQt5 3. PySide 4. PyQt4 Что именно загрузилось можно посмотреть в переменной __binding__ >>> import Qt >>> Qt.__binding__ 'PySide2' Приоритет имопрта можно изменить через переменные QT_PREFERRED_BINDING и QT_PREFERRED_BINDING_JSON. Причем под каждый проект оверрайды можно настраивать индивидеально. #qt#libs

Hashtags

Резултати

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

Пребарај: #posix

当前筛选 #posix清除筛选

#UNIX#POSIX 问题:如何正确理解 Permission denied 和 Operation not permitted 之间的区别? 答案: TL;DR: Permission denied: 老兄,你越界了,这个真不行。 Operation not premitted: 老兄,你在说什么鬼话? Permission denied 通常用于表示明确的因为权限设置导致的拒绝。 Operation not premitted 通常用于表示因为设计原因所不被允许的操作。 不过在实际的开发中,有的人似乎并不care这些,因此你也会见到因为权限策略拒绝时返回的 Operation not premitted 错误。(例如SELinux)

Hashtags

AIGC

@aigcrubbish · Post #84 · 06.11.2025 г., 16:21

Freedesktop.org now hosts the Filesystem Hierarchy Standard 文件系统层次结构标准(FHS)现已由Freedesktop.org托管和管理。FHS定义了POSIX操作系统如何组织系统和用户数据,被Linux、BSD及其他遵循POSIX规范的系统广泛采用。这一变动结束了此前关于FHS未来发展的讨论。 新规范页面可在此查看:https://specifications.freedesktop.org/fhs/latest/ #Linux#POSIX#文件系统标准#开源 #AIGC Read more

GitHub Trends

@githubtrending · Post #15246 · 24.10.2025 г., 13:30

#go#blob_storage#cloud_drive#distributed_file_system#distributed_storage#distributed_systems#erasure_coding#fuse#hadoop_hdfs#hdfs#kubernetes#object_storage#posix#replication#s3#s3_storage#seaweedfs#tiered_file_system SeaweedFS is a fast, simple, and highly scalable distributed file system designed to store billions of files and serve them quickly, especially small files. It uses a master server to manage volumes on volume servers, which handle file data and metadata, enabling very fast file access with minimal disk reads. It supports features like replication, erasure coding, cloud integration for elastic storage, and compatibility with many metadata stores and APIs including Amazon S3. This means you get efficient, cost-effective storage with fast access, easy scaling, and flexible deployment options for large-scale file storage needs. https://github.com/seaweedfs/seaweedfs