Установить свойства виджета в 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
Делимся записью вебинара об автоматизации грузовых дворов 🎞
Если 3 сентября вы не успели перевернуть календарь попасть на наш вебинар – не беда: видео уже можно посмотреть на площадках «Солво».
Поговорили о том, как эффективно управлять грузовым двором без простоев транспорта, проблем с коммуникациями, перегруженных доков и постоянных задержек. Рекомендуем к просмотру!
#YMS
📽Смотреть видео на канале «Солво»
Через 1 час начинаем! ⚡️
В 11:00 по московскому времени на платформе TransRussia Connect стартует практический вебинар об автоматизации грузового двора с экспертами «Солво».
Тема: Как повысить эффективность работы грузового двора с помощью автоматизации операций?
Спикеры:
— Владимир Вахнин, руководитель направления автоматизации систем управления грузовым двором «Солво»
— Михаил Звягин, менеджер по продажам «Солво»
Подключайтесь!
#YMS
Грузовой двор часто превращается в «бутылочное горлышко» логистической цепочки. Отсутствие налаженной координации между водителями, диспетчерами, складом и другими участниками производственного процесса приводит к простоям транспорта и доков, а те в свою очередь – к денежным и репутационным потерям.
➡️ Посчитали, сколько в среднем теряют компании на ручном управлении грузовым двором. Результаты – в карточках.
#YMS
🖥 Хотите узнать больше об управлении грузовым двором?
Подключайтесь к нам 3 сентября: на платформе TransRussia Connect пройдёт практический вебинар с экспертами «Солво».
Через две недели! 🔥
Проведём вебинар об автоматизации грузового двора
3 сентября на платформе TransRussia Connect пройдёт практический вебинар с экспертами «Солво». Поговорим о том, какие проблемы возникают при ручном управлении грузовым двором, разберём, как их решить с помощью автоматизации, и дадим практические рекомендации.
Кому будет полезен вебинар: представителям производственных предприятий, торговых сетей, логистических операторов и других компаний с большой территорией и множеством площадок.
Тема: Как повысить эффективность работы грузового двора с помощью автоматизации операций?
Спикеры:
— Владимир Вахнин, руководитель направления
автоматизации систем управления грузовым двором «Солво»
— Михаил Звягин, менеджер по продажам «Солво»
Ключевые тезисы:
— Эффективно ли вы управляете грузовым двором? Слабые места и скрытые потери при отсутствии автоматизации процессов
— Основные проблемы, возникающие при ручном управлении
— Что меняет автоматизация грузового двора – возможности YMS (Yard Management System)
— Кейсы автоматизации грузового двора
— Чек-лист «5 признаков того, что вам нужен YMS»: кому система критически необходима, а кому не подойдёт?
— Сроки внедрения YMS и экономическая выгода
Где: платформа TransRussia Connect
Когда: 3 сентября, 11:00—12:30 (МСК)
📅Регистрируйтесь уже сейчас!
#YMS
Простой транспорта всегда влечёт за собой затраты 💵
Масштаб расходов наглядно показывает исследование Американского Института Транспортных Исследований (ATRI), опубликованное в 2024 году.
В основу работы легли результаты опроса 2023 года, в котором приняли участие 587 водителей и 245 компаний-перевозчиков. Чтобы посчитать показатели по всей отрасли, учёные воспользовались данными о количестве крупнотоннажных транспортных средств, используемых в коммерческих целях.
По итогам расчётов оказалось, что за 2023 год транспортная отрасль США потеряла более $286 млн только на топливе, которое расходуется на холостом ходу, а 94,5% опрошенных перевозчиков регулярно выставляли штрафы за задержку транспорта.
➡️ Подробные результаты исследования – в карточках.
Если простой происходит по вине грузоотправителя или грузополучателя, то штрафы увеличивают расходы на логистику.
Фиксация всех точек движения автотранспорта помогает владельцу грузового двора в работе с претензиями, позволяя минимизировать объём штрафов и снизить логистические расходы.
Весь необходимый для этого функционал присутствует в системе Solvo.YMS – обращайтесь, и мы обо всём расскажем в подробностях 🔥
#YMS
Как понять, что грузовой двор нуждается в автоматизации? 🚛
В рубрике #СолвоЗа60секунд мы разберём, по каким сигналам можно определить, что вам нужна система YMS.
Сегодня в выпуске: три признака, говорящих о том, что Solvo.YMS может помочь логистике вашего грузового двора стать эффективнее.
#YMS
В нашей пятничной рубрике #СолвоЗа60секунд поговорим о насущном:
💸 О том, какие убытки терпит компания, если грузовой двор работает неэффективно.
А ещё – о том, как Solvo.YMS поможет избежать этих убытков, сохранить деньги и репутацию и выгодно использовать каждую секунду рабочего времени.
Сегодня в выпуске: коротко о главном – сколько можно сэкономить с помощью Solvo.YMS.
#YMS
В каких случаях Solvo.YMS нужна, а в каких – нет?
Разбираемся вместе в рубрике #СолвоЗа60секунд🧩
Сегодня в выпуске: 6 причин «за» и 4 причины «против» внедрения системы управления грузовым двором на вашем предприятии.
#YMS
Какой результат можно получить, если автоматизировать грузовой двор с помощью Solvo.YMS?
Рассказываем в рубрике #СолвоЗа60секунд🎙
Время переходить к практике, поэтому в сегодняшнем ролике мы разберём опыт одного из клиентов «Солво» и продемонстрируем, как Solvo.YMS умеет решать реальные задачи.
Сегодня в выпуске: только самое интересное – факты, цифры, результаты.
#YMS
Продолжаем рассказывать о Solvo.YMS в нашей рубрике #СолвоЗа60секунд
На рынке существует множество разнообразных решений для автоматизации логистики.
В чём же заключается принципиальное отличие систем класса YMS?
Давайте разберёмся вместе 🔎
Сегодня в выпуске: чем Solvo.YMS отличается от TMS и WMS, и какую функцию в автоматизации цепи поставок играет каждая из систем.
#YMS
Первая рабочая неделя января подходит к концу, а значит, пришло время для нашей пятничной рубрики #СолвоЗа60секунд
Мы открываем новый сезон! ⚡️
А начнётся он с серии роликов о Solvo.YMS — системе управления грузовым двором.
Сегодня в выпуске: что такое грузовой двор, и какие проблемы возникают на этом участке цепи поставок.
#YMS
IT Channel News: у «Солво» новый официальный технологический партнёр – ISS, Интеллектуальные Системы Безопасности
ISS – один из лидеров систем видеонаблюдения и видеоаналитики. Такие технологии активно используются на современных логистических объектах разного типа, поэтому интеграция с нейросетевыми видеоаналитическими модулями и детекторами SecurOS позволит «Солво» автоматизировать под ключ любые проекты.
Какие модули SecurOS доступны клиентам «Солво»:
🚛 SecurOS Auto — распознавание государственных регистрационных знаков автотранспорта.
🚞 SecurOS Transit — идентификация номеров вагонов железнодорожного транспорта.
🏗 SecurOS Cargo — распознавание ISO-номеров грузовых контейнеров.
Читатьв источнике➡️
#TOS#WMS#YMS