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

Резултати

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

Пребарај: #brain2

当前筛选 #brain2清除筛选

Повторение - мать учения🤓 И мы напоминаем, что у нас есть ресурс brain2-rus.ru, на котором собрана вся полезная информация об интеграции оборудования Bizerba и 1С. На ресурсе можно найти и вебинары, которые познакомят с инструментами BRAIN2. Не сайт, а бриллиант 💎 #brain2

Hashtags

Сайт Brain2 Rus переехал на новый адрес -> brain2-rus.ru. Создать централизованную систему с единой базой данных и организовать современное умное производство совсем не сложно. Создайте свое будущее. Сегодня. Узнайте больше об интеграции оборудования Bizerba c 1C. #brain2

Hashtags

📣Новая шпаргалка по BRAIN2📣 Как, не будучи дизайнером, редактировать под свои запросы существующие отчеты в BRAIN2? Андрей Орехов рассказал в новом видео! https://youtu.be/XXHkTJJrb5Q А здесь можно найти предыдущие выпуски #brain2

Hashtags

📣МАКСИМАЛЬНО полезный пост! Пока к выпуску готовятся новые шпаргалки по программному обеспечению от гуру BRAIN2 Андрея Орехова, собрали здесь все предыдущие выпуски (названия кликабельны)👇🏻 Синхронизация даты и времени в оборудовании Импорт проекта Расширение политики паролей Документация на оборудование Редактор атрибутов Как сохранить LOG-файлы И заодно дублируем сборник вебинаров по BRAIN2, который актуален всегда! Освежить знания о ПО BRAIN2 #brain2

Hashtags

"Слово из трех букв, которое следует произносить, когда софт не работает" - так прокомментировал Андрей Орехов новую шпаргалку по BRAIN2. А речь то про LOG-файлы!😉 В новом видео Андрей рассказал, как находить причины неисправностей в системе и устранять их при помощи LOG-файлов👇🏻 https://youtu.be/SQ_V7FqQEHc #brain2

Hashtags

🎙Андрей Орехов на связи! И сразу новая шпаргалка по BRAIN2: Редактор атрибутов🥳 При работе с BRAIN2 Data Maintenance мы вносим изменения в наши артикулы, вносим изменения в PLU. Эти изменения вносить достаточно просто, если нужно что-то поменять только в одной единице продукции. Но что делать, если этикетку нужно поменять одновременно в нескольких PLU? в 10, 20, 100 или даже 1000? Рассказываем в новом видео👇 https://youtu.be/Hef9Ox8qtOM #brain2

Hashtags

Давно не было шпаргалок по Brain2👀 Будем готовить новые! А пока предлагаем реакциями на этот пост поблагодарить нашего продукт-менеджера по Brain2 Андрея Орехова за видео, вебинары и шпаргалки по работе в системе🔥 И сказать: «Андрей, мы ждем еще!» #brain2

Hashtags

К BRAIN2 можно подключить много оборудования Bizerba: этикетировщики, чевейеры, весовые терминалы. Но как сконфигурировать эти устройства, рассказываем в новом видео. https://youtu.be/bUDRq3CuCYQ #brain2

Hashtags

Поскольку устройства работают с данными, а также отправляют информацию в Brain2, очень важно, чтобы время и дата между сервером и устройствами Bizerba были синхронизированы. Рассказываем, как настроить синхронизацию в Brain2. https://youtu.be/OmAGQwe835w #brain2

Hashtags

ПретходнаСтраница 1 од 4Следна