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

TGINSIGHT SIMILAR POSTS

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

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

Установить свойства виджета в 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

Hashtags

Резултати

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

Пребарај: #ae

当前筛选 #ae清除筛选
VideoSmile

@videosmile_ru · Post #9934 · 26.03.2026 г., 06:47

📌 Несколько интересных техник для стилизации в After Effects Автор: Leedia #ae

Hashtags

VideoSmile

@videosmile_ru · Post #9924 · 24.03.2026 г., 06:11

📌 Еще один интересный вариант градиента в After Effects Автор: motionandtools #ae

Hashtags

VideoSmile

@videosmile_ru · Post #9872 · 16.03.2026 г., 14:26

📌 Интересная стилизация нативными эффектами в After Effects Автор: bece.mov #ae

Hashtags

VideoSmile

@videosmile_ru · Post #9859 · 14.03.2026 г., 10:32

📌Динамическое отслеживание цели в After Effect 👉Бесплатный файл со скриптом React Автор: Sina Salariy #ae

Hashtags

VideoSmile

@videosmile_ru · Post #9833 · 09.03.2026 г., 06:12

📌 Прикольный эффект с объемным текстом в After Effects Автор: sebastian_jelic #ae

Hashtags

VideoSmile

@videosmile_ru · Post #9803 · 03.03.2026 г., 14:06

✨ Небольшой тутор по красивому градиенту в After Effects Автор: Aftermagics #ae

Hashtags

VideoSmile

@videosmile_ru · Post #9784 · 27.02.2026 г., 06:37

📌Шпаргалка по полезным выражениям в After Effects Автор: figisisters 1. Авто-стаггер delay = index * 0.05; valueAtTime(time - delay) Что делает: Сдвигает анимацию слоев по времени — эффект «волны». Как использовать: • Вставь в Position / Scale / Opacity / Rotation • Анимируй один слой • Дублируй — остальные подстроятся сами 2. Счетчик чисел (с %) n = Math.floor(effect("Target")("Slider")); n + "%" Что делает: Анимирует числа (например, проценты) — хорошо подходит для статистики и инфографики. Как использовать: • Добавь Slider Control к тексту • Переименуй в Target • Задай ключи (начало → конец) 3. Fade по расстоянию d = length(thisLayer.position, thisComp.layer("Null 1").position); linear(d, 0, 500, 100, 0) Что делает: Меняет прозрачность в зависимости от расстояния до другого слоя. Как использовать: • Вставь в Opacity • Создай Null • Двигай его ближе/дальше — меняется opacity Сохрани, пригодится 🔥 #ae

Hashtags

VideoSmile

@videosmile_ru · Post #9769 · 24.02.2026 г., 14:08

📌Винтажный CRT-эффект в After Effects 🔹 Раздели изображение на строки через Venetian Blinds 🔹 Добавь хроматическую аберрацию для реалистичности 🔹 Примени Blur, чтобы убрать «цифровую» резкость 🔹 Добавь Grain для аналогового ощущения 🔹 Изогни экран через Optics Compensation 🔹 Добавь Glow для магии старых CRT 🔹 Усиль контраст — готово! Автор: s1lax.art #ae

Hashtags

VideoSmile

@videosmile_ru · Post #9636 · 04.02.2026 г., 06:17

📌Небольшой разбор прикольной анимации текста в After Effects Автор #ae

Hashtags

VideoSmile

@videosmile_ru · Post #9621 · 31.01.2026 г., 14:27

📌Анимация в стиле ASCII в After Effects 1. Базовая анимация Создайте исходную анимацию. Удобнее работать в градациях серого — так проще контролировать яркость и цветовые значения. 2. Превращение в мозаику Effects → Stylize → Mosaic Настройте количество горизонтальных и вертикальных блоков для нужного визуального эффекта. Включите Sharp Colors, чтобы получить чёткое разделение цветов. 3. Выделение значений серого Effects → Keying → Extract Отрегулируйте значения чёрной и белой точки, чтобы задать нужный диапазон яркости. 4. Композиция с ASCII-элементами Создайте новую квадратную композицию — в ней будут ASCII-иконки. Размер композиции должен совпадать с размером одного блока мозаики из базовой анимации. 5. Тиражирование элементов Effects → Stylize → CC Repetile Замостите квадратную композицию до полного перекрытия базовой анимации. 6. Маска через Track Matte Задайте для композиции с ASCII-элементами Track Matte от базовой анимации. Мозаика будет использоваться как маска для проявления квадратов. 7. Эксперименты Повторяйте шаги, меняйте параметры и комбинируйте значения, чтобы получить собственный визуальный стиль. Автор: Elen Winata #ae

Hashtags

VideoSmile

@videosmile_ru · Post #9617 · 30.01.2026 г., 14:27

Туториал по эффекту линзы в After Effects 🔎 Автор: darik_designer #ae

Hashtags

VideoSmile

@videosmile_ru · Post #9518 · 16.01.2026 г., 06:24

📌Как поворачивать Noise в After Effects Подсказка от Seter #ae

Hashtags

123•••67
ПретходнаСтраница 1 од 7Следна