Установить свойства виджета в PySide можно не только через соответствующие методы и конструктор класса. Можно их изменять с помощью метода setProperty по имени.
btn = QPushButton("Click Me")
btn.setProperty("flat", True)
Это аналогично вызову
btn.setFlat(True)
Если указать несуществующее свойство, то оно просто создается
btn.setProperty("btnType", "super")
Получить его значение можно методом .property(name)
btn_type = btn.property("btnType")
Когда это может быть полезно?
▫️Можно просто хранить какие то данные в виджете и потом их доставать обратно
widget = QWidget()
widget.setProperty('my_data', 123)
print(widget.property('my_data'))
▫️ Назначая эти свойства разным виджетам можно потом отличить виджеты во время итераци по ним. Например, найти все кнопки со свойством my_data="superbtn".
Но ведь вместо кастомного свойства можно использовать objectName, будет тот же результат.
Да, но y ObjectName есть ограничение - только строки.
▫️ Если нам потребуется не просто поиск а, например, сортировка по числу, то свойства позволяют нам это сделать. Поддерживается любой тип данных
widget.setProperty('my_data', {'Key': 'value'})
widget.setProperty('order', 1)
all_widgets.sort(key=w: w.property('order'))
Но ведь Python позволяет всё вышеперечисленное сделать простым созданием атрибута у объекта
widget.order = 1
widget.my_data = 123
Да, но я думаю что не надо объяснять почему не стоит так делать. К тому же, если у виджета нет свойства то метод .property(name) вернет None, а отсутствующий атрибут выбросит исключение.
▫️ Действительно полезное применение кастомным свойствам - контроль стилей. Здесь атрибутами не обойтись, нужны именно свойства.
Дело в том, что в селекторах стилей можно указывать конкретные свойства виджетов на которые следует назначать стиль.
Просто запустите этот код
from PySide2.QtWidgets import *
if __name__ == "__main__":
app = QApplication([])
widget = QWidget(minimumWidth=300)
layout = QVBoxLayout(widget)
btn1 = QPushButton("Action 1")
btn2 = QPushButton("Action 2")
btn3 = QPushButton("Action 3", flat=True)
layout.addWidget(btn1)
layout.addWidget(btn2)
layout.addWidget(btn3)
# добавим кастомное свойство одной кнопке
btn1.setProperty("btnType", "super")
# добавляем стили
widget.setStyleSheet(
"""
QPushButton[btnType="super"] {
background-color: yellow;
color: red;
}
QPushButton[flat="true"] {
color: yellow;
}
"""
)
widget.show()
app.exec_()
С помощью селектора мы избирательно назначили стили на конкретные кнопки.
Как получить список всех кастомный свойств?
Функция получения списка кастомных свойств отличается от получения дефолтных.
def print_widget_dyn_properties(widget):
for prop_name in widget.dynamicPropertyNames():
property_name = prop_name.data().decode()
property_value = widget.property(property_name)
print(f"{property_name}: {property_value}")
#tricks#qt
#Linux Desktop application that provides live #captioning
FUTO Fellowship program interview; linux captions software
👉 Live Captions github: https://github.com/abb128/LiveCaptions
🔵 Q&A w/ billionaire alt-tech investor/philanthropist Eron Wolf
https://www.youtube.com/watch?v=OJPmbcU-Vzo
🔵 FUTO Fellows program: https://futo.org/fellows/
🔵 FUTO Youtube channel - @futotech
⚠️ Google's breaches of privacy have gone TOO FAR!
https://www.youtube.com/watch?v=_vWAF13KigI
#speech#recognition#stt#voice
✍️ JoyCaption Ultimate α2 (2024-09-26) ● Генератор описаний и тегов для изображений с режимом пакетной обработки ● RU ● by NerualDreming & Slait
Ссылка на оригинальный GitHub:https://github.com/fpgaminer/joycaption
Репакеры: #NerualDreming, #Slait
Дата обновления модели: 26 сентября 2024
Версия: α2
Категории:#captioning, #AIvision, #img2txt
Платформа:#Windows
Язык: RU
Место на диске: 20 ГБ
Системные требования: NVIDIA GPU 12gb VRAM
Совместимость:#Nvidia
🖥Описание софта:
JoyCaption — инструмент для генерации подробных описаний изображений в различных стилях и форматах. Незаменим для создания описаний изображений при подготовке тренировочных датасетов. Полезен для получения промптов из любых изображений. Адекватно работает с NSFW-концепциями и тегами.
В этой русифицированной модифицированной сборке добавлена поддержка пакетной обработки файлов, сохранение обработанных изображений в директорию проекта, перевод интерфейса и многое другое для удобства работы. Всё работает локально, используя квантованную модель nf4 для экономии ресурсов и увеличения скорости обработки.
😬 Основные возможности JoyCaption α2:
🟣9 режимов генерации (описание, SD-промпты, MidJourney, booru-теги, соцсети и др.)
🟣Расширенные инструкции: имя персонажа, свет, композиция, глубина, качество
🟣Формальный и неформальный стиль
🟣Выбор длины описания
🟣Поддержка пользовательских промптов
🟣Сохранение промптов и изображений в отдельную папку
🟣Возможность визуально проверить и исправить вручную неудачные промпты в пакетном режиме, с повторным сохранением по одному, или всех сразу
🟣Переведённый UI и простой запуск
💿Установка и запуск:
⁍ Скачайте 7z архив JoyCaption с установщиком или с окружением
⁍ Разархивируйте с помощью 7-Zip
⁍ Распакуйте архив в удобное место (без кириллицы и пробелов в пути)
⁍ Запустите файл installer.bat если скачали установщик
⁍ Запустите файл start_joy_caption.bat если скачали версию с готовым окружением
⁍ После загрузки моделей интерфейс откроется в браузере
➡️ Скачать архиватор 7z
➡️joy_caption_ultimate_portable_installer.7z — установщик, всё скачает сам
➡️joy_caption_ultimate_portable_environment.7z — готовое окружение, скачиваются только модели
💬Обсудить в чате | ⭐️Поддержать канал
👾НЕЙРО-СОФТ — Делаем нейросети доступнее.
✍️ SuperCaption Qwen3-VL ● Ультимативный генератор описаний ● Portable by Nerual Dreming & Slait
Ссылка на оригинальный GitHub: https://github.com/timoncool/SuperCaption_Qwen3-VL
Репакеры:#NerualDreming, #Slait
Дата обновления: 26 ноября 2025
Версия: 1.0
Категории:#captioning, #img2txt, #AIvision, #video2txt, #OCR, #dataset
Платформа:#Windows
Язык: RU, EN, CN
Место на диске: ~15 ГБ (зависит от модели)
Системные требования: NVIDIA GPU (минимум 6 ГБ VRAM для 2B модели, рекомендуется 12+ ГБ для 8B+)
Совместимость:#Nvidia
🖥Описание софта
SuperCaption Qwen3-VL — это мощнейший комбайн для анализа визуального контента. В его основе лежит модель Qwen3-VL, которая "видит" мир лучше многих конкурентов.
Главная фича — использование Abliterated моделей, у которых отключена цензура. Это значит, что софт опишет абсолютно всё, что вы ему покажете, без морализаторства и отказов.
Идеальный инструмент для дата-сайентистов, контент-мейкеров и всех, кому нужно превратить гигабайты картинок и видео в структурированный текст.
😬Основные возможности SuperCaption Qwen3-VL
Работа с изображениями (50+ режимов):
🟣Генерация промптов: Создает готовые промпты для Stable Diffusion и MidJourney, теги в стиле Booru.
🟣Маркетинг и SEO: Пишет продающие описания товаров, SEO-тексты (до 160 символов), посты для соцсетей.
🟣 Продвинутый OCR: Распознает текст на 20+ языках, конвертирует таблицы с картинок сразу в HTML-код, извлекает данные в JSON.
🟣Сравнение и анализ: Режимы "До/После", сравнение товаров, контроль качества (поиск дефектов), анализ временных рядов.
🟣Object Detection: Находит объекты и выдает их координаты (bbox) в JSON или рисует рамки прямо на фото.
Интеллектуальный анализ:
🟣Thinking Mode: Режим "рассуждений" для сложных задач — модель сначала думает, потом отвечает.
🟣Решение задач: Пошаговое решение математики, физики, разбор учебных заданий.
🟣Аналитика: Читает графики, диаграммы, технические чертежи и медицинские снимки.
Видео-аналитика:
🟣Таймлайны: Создает хронологию событий с таймкодами.
🟣Саммари: Делает краткую выжимку содержания длинных видео.
🟣Анализ монтажа: Оценивает склейки, переходы, темп и операторскую работу.
🟣Поиск действий: Находит конкретные моменты (например, "когда человек начал бежать").
Прочее:
🟣Пакетная обработка: Закидываете папку с тысячей файлов -> идете пить кофе -> получаете TXT/JSON/CSV файлы для каждого.
🟣Гибкость: Полная поддержка кастомных промптов на русском языке.
💿Установка и запуск
⁍ Скачайте архив SuperCaption_Qwen3-VL.
⁍ Распакуйте в удобное место (путь без кириллицы!).
⁍ Запустите install.bat и выберите свою видеокарту.
⁍ Нажмите Enter и дождитесь окончания установки.
⁍ Запустите run_with_update.bat для старта.
⁍ Интерфейс откроется в браузере (http://127.0.0.1:7860).
➡️Скачать SuperCaption с GitHub — исходный код
➡️Скачать Portable установщик — скачает все что нужно
➡️Скачать Portable архив с окружением — Окружение под Win 11 и RTX 4090
💬Обсудить в нашем чате
👾НЕЙРО-СОФТ - делаем нейросети доступнее