Установить свойства виджета в 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
🔥 LIGHTYEAR ROBOTICS yangi M1 nomli robotni chiqardi — bu kompaniyaning birinchi g‘ildirak oyoqli roboti.
🔹 U tezkor g‘ildirakli oyoqlari bilan har xil joylardan o‘ta oladi — maysa, shag‘al, hatto baland joylardan ham.
🔹 Yangi tizimi tufayli 40% kamroq energiya ishlatadi va yengilroq.
🔹 Robot atrofni o‘zi ko‘radi, tushunadi va mustaqil harakat qiladi.
💪 M1 asosan biznes uchun mo‘ljallangan: joylarni tekshiradi, favqulodda holatlarda yordam beradi va og‘ir yuklarni xavfli joylarda tashiydi.
🐚Bizning barcha loyihalar | #robots
Теперь ты знаешь что подарить мне на день рождение) Neo от 1x
Очень красивый видео презентейшн нового домашнего робота посмотри до конца)
1X Technologies — компания, которая изначально («Halodi Robotics») занималась промышленной робототехникой, а теперь переключилась на «домашних» гуманоидов.
NEO — семейство гуманоидных роботов, ориентированных на домашнюю среду: помощь с бытовыми задачами, взаимодействие с людьми, навигация в привычной среде.
Ключевой “мозг” робота — модель ИИ под названием Redwood: трансформер, обученный восприятию-языку-действию, управляет мобильностью и манипуляцией.
Робот создан с учётом: целостной мобильности (ходьба, лестницы, наклоны) + манипуляции с объектами (поднимать, брать, перемещать) + взаимодействия в домашней среде.
1X открыл предзаказы для бытовых роботов:
$20k или $500 в месяц
Вдруг завалялось полтора ляма)
#robots | AcidCrunch
В Пекине открылись первые Всемирные игры гуманоидных роботов
В нём участвуют более 500 гуманоидных роботов из 280 команд из 16 стран, включая США, Германию и Японию. Роботы соревнуются в различных видах спорта, таких как футбол, бег и бокс.
Один робот-футболист забил мяч после нескольких попыток, в результате чего вратарь упал на землю. 😂
Вообще забавно наблюдать именно на ошибки роботов в процессе. Я все ждал что он после того как подлетел к этим двум парням начнет выяснять с ними отношения)
😂 И не забывай репостить ага)
#robots | AcidCrunch
#Robots
Робот-диджей: будущее клубной сцены?
В Сан-Франциско представили Phantom — первого робота-диджея. Он управляет треками, анализирует реакцию публики и адаптирует плейлист в реальном времени.
Робот использует ИИ для анализа ритма и настроения танцпола, выбирая оптимальные композиции. Его алгоритмы подстраиваются к реакции гостей, создавая уникальный музыкальный опыт.
Эксперты считают, что роботы могут стать частью индустрии развлечений, но заменят ли они живых диджеев – вопрос времени.
Технологии меняют клубную культуру – готовы ли вы танцевать под музыку от ИИ?
#Robots
Uber и Tesla: альянс будущего или битва за рынок роботакси?
Гендиректор Uber предложил Илону Маску объединить усилия в развитии автономных такси. Tesla уже активно продвигает свою беспилотную технологию, но сотрудничество с Uber могло бы ускорить внедрение роботакси по всему миру.
Uber обладает глобальной сетью пользователей и инфраструктурой, а Tesla — передовыми автопилотными технологиями. Объединение компаний может сделать беспилотные такси доступными быстрее, чем ожидалось.
Маск пока не дал официального ответа, но этот запрос Uber может означать изменение стратегий в сфере автономного транспорта. Будет ли это альянс или конкуренция – покажет время
Мир такси стоит на пороге революции – кто в ней победит?
#Robots
Tesla запускает массовое производство гуманоидных роботов Optimus
Компания Tesla объявила о планах выпустить до 10 000 человекоподобных роботов Optimus в 2025 году. По словам Илона Маска, эти машины будут выполнять задачи на производственных предприятиях Tesla, а в дальнейшем – использоваться в различных сферах экономики.
Что делает Optimus уникальным?
Автономность;
Гибкость;
Энергоэффективность.
Запуск массового производства Optimus знаменует новую эпоху в индустрии робототехники, где гуманоидные роботы станут частью рабочих процессов и повседневной жизни.
Первая леди встречается с первым роботом.
«Figure F.03 вошёл в историю как первый человекоподобный робот в Белом доме»
@ai_machinelearning_big_data
#ai#robots
🏭🤖Завод без людей: в Синьцзяне текстильная фабрика работает полностью с помощью ИИ
На огромном производстве ни одного рабочего на линии.
Около 5 000 ткацких станков крутятся круглосуточно под управлением ИИ и робототехники.
И это уже не эксперимент, в Китае такие фабрики становятся нормой:
— производство ускоряется
— себестоимость падает
— зависимость от человеческого труда минимальна
США сосредоточены на передовых исследованиях - медицине, биотехнологиях, науке.
Китай же внедряет технологии прямо в заводы и делает это быстрее всех.
Если Китай сохранит этот темп, его влияние на мировую торговлю усилится, а давление на промышленность США будет расти,даже несмотря на тарифы и планы «вернуть фабрики домой».
#ai#robots
Когда многие решили, что видео с T800 - это CGI, CEO EngineAI Чжао Тонъян вышел на ринг и лично принял удар ногой от робота🦶
Никакой графики, всё настоящее. 📷
@ai_machinelearning_big_data
#ai#robots
🤖Китайская компания EngineAI (Zhòngqíng) представила полноразмерного гуманоидного робота T800.
«Всё реальная съёмка - без CGI, без AI, без ускорения видео.»
Основные характеристики робота:
- рост 173 см
- 29 степеней свободы (без учёта кистей)
- пиковый крутящий момент суставов - 450 Н·м
Функции и возможности:
- система кругового обзора 360°
- активное охлаждение суставов ног
- аккумулятор на 4–5 часов работы
@ai_machinelearning_big_data
#ai#robots
🤖 Unitree R1 и G1 демонстрируют свои навыки на одной сцене
Выбери своего БОЙЦА:
❤️ Новый, более доступный и компактный R1
или
🔥 Мощный и уже зарекомендовавший себя на рынке G1, который остаётся флагманом линейки.
@ai_machinelearning_big_data
#ai#robots
UBTech заявила о первой в мире массовой поставке гуманоидных роботов.
Китайская компания из Шэньчжэня уже получила заказы на более чем 800 млн юаней (112 млн долларов) на своего робота Walker S2. Среди них - контракт на 159 млн юаней для проекта по сбору данных в городе Цзыгун и ещё один, на 250 млн юаней, о котором сообщили в сентябре от крупной китайской компании.
Гуманоиды переходят из демонстраций в реальные промышленные поставки - и это серьёзный сигнал для всей отрасли робототехники.
@ai_machinelearning_big_data
#robots#ai