Установить свойства виджета в 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
💥💥 Агропром в фазе прорыва: итоги экспертной панели на выставке AGRAVIA
🗓 21 января 2025 годана выставке Agravia состоялась экспертная панель, организованная Центром отраслевой экспертизы АО «Россельхозбанк» и порталом Agrotrend.ru. Активное участие в дискуссии приняли представители бизнеса, науки, отраслевых союзов и делового сообщества в АПК.
🗣️ «Сегодня сельское хозяйство - один из главных драйверов экономики, стабильных цен и экспорта,»
– сообщил Пётр Чекмарев, заместитель Президента РАН, Председатель Комитета по развитию АПК ТПП РФ.
🗣️ «Особенно важна инфраструктура хранения:современные овощехранилища и логистика позволяют избегать сезонных скачков цени потерь урожая»
- отметил директор ФГБУ «Центр Агроаналитики» Дмитрий Авельцов.
🔗Ключевую роль всё больше играют технологии - от селекции до точного земледелия, важным аспектом выступает генетический потенциал растений, технологические приемы по выведению новых сортов и знание отечественных оригинаторов,
этим темам был отведён целый ряд докладов спикеров: Ольга Лесных – директор НСА, Сергей Тучин– Ген. директор РАСРАПС, Александр Прянишников – Директор департамента растениеводства АО «Щелково Агрохим»,Монахос Сократ – Директор ССЦ овощных культур. Алексей Клецко, директор,консалтинговая компания «Яков и партнеры», рассказал о перспективах российской генетики высших растений.
🗣️ «Ключевые агротренды свидетельствуют о дальнейшей интенсификации производства, которая опережает своим производством спрос, о рекордном урожае в мире в текущем сезоне, что перестраивает приоритеты производства номенклатурных позиций от бобовых к протеину и жирам в растениеводстве и животноводстве,»
- отметил Николай Лычев - Управляющий партнер Agrotrend ru.
🗣️ «По аналитике ЦОЭ АО «Россельхозбанк», при сохранении роста валового производства продовольственные балансы в 2026 году будут находиться в состоянии изобилия в стране, а значит, создадут условия для снижения ключевой ставки Центробанка в среднесрочной перспективе. Так аграрии становятся не просто «поставщиками на прилавок», а ключевыми участниками общей макроэкономической стабильности страны»
- отметил Олег Князьков.
⚙️ Елена Алекперова - ген. директор, ООО«Агростат» поделилась данными о динамике развития производства полевых культур в 2025 г.
➡️Подробнее на нашем сайте
#Agravia#новость#выставка#деловая_программа
🏅⚡️ Объявляем о старте приема заявок на участие в конкурсной программе выставок AGRAVIA и iAGRI!
🤓Уважаемые экспоненты, у Вас есть уникальная возможность заявить о своих решениях на профессиональном уровне и побороться за престижные награды.
💎ТрадиционныйКонкурс«Лучший продукт AGRAVIA2026»проводится по 14 профильным номинациям в самых разных направлениях:
🖊 селекция
🖊 семеноводство
🖊 генетика
🖊 сельхозтехника
🖊 оборудование для содержания и кормления
🖊 ветеринарные и кормовые решения
🖊 многих других
💎 У вас есть инновационные решения?
Впервые участники Конкурса могут также номинироваться на Премию инновационных решений iAGRI «Innovation Award 2026»,организованную для продвижения передовых технологий и инновационных разработок в агропромышленном комплексе.
📌5 ключевых номинаций Премии:
🖌 Инновации в растениеводстве
🖌 Инновации в животноводстве
🖌 Робототехника в АПК
🖌 Беспилотные системы в АПК
🖌 ИИ-решения для АПК
⚡️ Участие в Премии возможно для экспонентов выставок AGRAVIA и iAGRI.
⚡️ Участие в Конкурсе и Премии является добровольным и бесплатным.
⚡️Определение победителей Конкурса и Премии по каждой номинации производится независимой экспертной комиссией.
⚡️ Награждение победителей пройдет в торжественной обстановке в день открытия выставок AGRAVIA и iAGRI – 21 января 2026.
⚡️ Для участия в Конкурсе и Премии необходимо оформить и подать заявки согласно требованиям – все документы по участию доступны в личном кабинете экспонента выставок AGRAVIA и iAGRI.
‼️ Срок подачи заявок: до 15 ноября 2025 г.
✅ Контактное лицо по вопросам участия в конкурсной программе:⠀
Лилия Котова
📞 +7 (921) 915 44 61
🌐[email protected]
💯 Желаем всем конкурсантам ярких побед и уверенности в своих cилах!
⏩⏩Заявка на Конкурс «Лучший продукт AGRAVIA 2026»
⏩⏩Заявка на Премию «iAGRI Innovation Award 2026»
#Agravia#iAgri#новость#выставка#премия#конкурс
Альянс B2BASEAN на главной агровыставке AGRAVIA: новые соглашения и планы на будущее
На этой неделе Альянс B2BASEAN принял активное участие в ведущей выставке агропромышленного комплекса — AGRAVIA / iAGRI.
Это было по-настоящему международное событие:
Были представители Вьетнама, Индонезии, Малайзии, Таиланда, а также наши коллеги и партнеры из Индии, Шри-Ланки и Китая.
На площадке мы провели насыщенную программу:
- Серию переговоров в формате «Посольский час» для установления диалога между бизнесом и дипломатическими миссиями.
- Активную работу на b2b matching, где участники нашли конкретные точки для сотрудничества.
Ключевым итогом стало подписание Соглашения о сотрудничестве между Альянсом B2BASEAN и организаторами выставки AGRAVIA/iAGRI.
В рамках соглашения мы определили план действий, который включает:
- Организацию выездных бизнес-миссий в страны АСЕАН.
- Подготовку к участию коллективного стенда стран АСЕАН на выставке AGRAVIA в 2027 году.
#B2BASEAN#AGRAVIA#iAGRI#Агробизнес#АСЕАН#Индонезия
Дух выставки уже витает в воздухе🚜
Стенд Kverneland 15-G14 почти готов, техника на позициях, сотрудники во всеоружии. Уже завтра начнется АГРАВИЯ 2026!
Так что же ждёт вас на нашем стенде?
✅ Комбинация косилки-бабочки Kverneland 5387MR и фронтальной косилки Kverneland 3332FR - максимум производительности и качества скашивания для скоростной заготовки кормов
✅ Демонстрационный макет высевающей секции Optima SX - уникальная возможность увидеть, как рождается идеальный посев
До встречи💚
#Агромаг#Kverneland#Агравия#Agravia#выставка#крокус
Роль биогаза в экономике замкнутого цикла: представитель Росатом Сервис стал частью деловой программы выставки iAGRI
🎙 21 января представитель Проектного офиса «Биогазовые реакторы» выступил с докладом в практической сессии «Инновационные решения для сельского хозяйства: энергетика, экология, энергоэффективность» бизнес-форума iAGRI (проходит сейчас в Крокус Экспо, г. Москва)
🎲 Основные тезисы выступления:
✅ актуальность биогазовых технологий в условиях развития современного АПК
✅ биоэнергетика - неотъемлемая часть национального проекта «Технологическое лидерство биоэкономики»
✅ популяризация биогазовых технологий - мощный импульс прогресса в науке, открывающий новые горизонты в исследованиях и инновациях
✅ развитие биогазовой отрасли - важный элемент экономического роста и инструмент для укрепления международных связей
💠 На сессии также обсудили современные тренды развития сельского хозяйства, системный комплексный подход к развитию сельскохозяйственных территорий, роботизацию и автоматизацию процессов и многое другое
#РосатомСервис#Agravia#iAGRI#новость#биогаз#сельскоехозяйство#инновации
Уважаемые коллеги и партнеры!
Приглашаем вас посетить международную выставку сельхозтехники и технологий Agravia 2026, которая пройдет с 21 по 23 января 2026 года в Москве, в МВЦ «Крокус Экспо».
Это ключевое событие года для аграрного бизнеса, где будут представлены передовые решения, новейшая техника и оборудование.
Будем рады встрече с вами на стенде наших партнеров. Для вашего удобства предлагаем заранее зарегистрироваться на выставку на официальном сайте.
https://agravia.org/?ysclid=mkff1a1p24874775021#mainreg
Будем рады видеть вас в числе наших гостей!
#Агромаг#Agravia#выставка#встречи#Agromag#Siloking#Fliegl#Gritan#Kverneland#прицепы#почвообработка#кормозаготовка#кормораздатчики#миксеры#сельскоехозяйство