Установить свойства виджета в 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
🤖Робот Optimus от Tesla случайно спалился, что им управляет человек: на ивенте в Майами ИИ-машина сделала жест, подозрительно похожий на тот, что обычно делают при снятии VR-шлема.
Находчивые пользователи моментально считали это движение и поняли, что факап — на стороне оператора, который не успел нажать «выход», прежде чем железяка завалилась на пол.
И все это происходит всего через пару месяцев после заявлений Маска, что Optimus полностью автономный.
@bugfeature | #роботы#tesla#optimus
#ElonMusk finally unveiled a working prototype of the highly anticipated humanoid robot ‘Optimus’, after first teasing it last year, in the #Tesla’s AI day 2022 event. The Tesla chief CEO announced that the '#Optimus' can be priced less than $20,000 (around ₹16 lakh).
Emphasizing on the production of the humanoid robot, Musk said 'Optimus' is slated to bring more business to the company than the cars manufactured by Tesla.
Read here: https://bit.ly/3y74nQK
🤖Армия Optimus: 1 миллион роботов к концу 2026 года
Илон Маск подтвердил амбициозные планы Tesla по созданию «миллионной армии» человекоподобных роботов Optimus. Полноценное производство должно быть запущено к концу 2026 года.
Ключевые факты:
➡️Масштаб: 1 млн роботов в год
➡️Прототип V3: Уже в 2026 году - будет "похож на человека в костюме"
➡️Цена: $20-30 тыс. при массовом выпуске
Маск называет Optimus «самым важным продуктом в истории», способным помочь в создании «мира без бедности».
Мои мысли зачем реально Маску Optimus.
Что думаете? Я прав?
Или мы получим второго бытового робота, подобного плюшевому NEO?
#Optimus#Tesla#ИлонМаск#ИИ#Робототехника
https://t.me/semasci
Луна 2112: этика клонов и искусственного сознания
После просмотра Микки-17 в группе КосмоЛекции в Сбере рекомендовали посмотреть фильм с похожей сюжетной линией: Луна 2112.
Кратко от КиноПоиск'а:
Контракт Сэма подходит к концу: он провел три года на Луне, следя за автоматизированной станцией по добыче редкого газа. Три долгих года в полном одиночестве, если не считать говорящего робота ГЕРТИ, могут изменить любого. За две недели до возвращения на Землю Сэм встречает сменщика.
Что цепляет:
Фильм поднимает вопросы идентичности: какое сознание считать «настоящим»? Оба ли клона — самостоятельные личности? И, кстати, а что случилось с оригиналом — он вообще долетел до Земли?
Дилемма:
Этот же вопрос сейчас возникает вокруг ИИ — например, если Optimus от Маска отправится на Марс:
1. Уже можно считать Grok-3 внутри железной коробки Optimus самостоятельной личностью или ещё рано?
2. А если железный корпус заменят на "бодиоида", становится ближе к человеку?
3. А одна модель Grok-3 в разных «телах» (железном или бодиоидном) это все ещё одна личность или уже множество?
Ответов на эти вопросы сегодня пока нет, тем интереснее посмотреть Луна 2112.
К просмотру на выходных рекомендую, 8/10.
#луна2112#бодиоид#optimus
https://t.me/semasci
Илон Маск делает ставку на человекоподобных роботов Tesla Optimus и говорит что будущее именно за ними
Его робот Optimus, впервые представленный в 2022 году, должен стать универсальным помощником во всех сферах. Маск утверждает, что именно такие роботы, наряду с беспилотными такси и Cybertruck, укрепят позиции Tesla как лидера искусственного интеллекта.
Аналитики прогнозируют, что в ближайшие годы мировой рынок таких роботов может достичь 1 миллиарда единиц в год. Маск считает, что Tesla способна занять не менее 10% этого рынка.
При себестоимости производства $10 000 и рыночной цене $20 000 это означает что прибыль составит до $1 триллиона ежегодно и рост капитализации компании до $25 триллионов.
Маск подчеркнул, что уже в следующем году на заводах Tesla начнут работать тысячи Optimus, и это станет первым шагом к эпохе, где люди и машины будут трудиться бок о бок.
А в будущем роботы частично заменят людей.
Что думаете об этом и согласны ли с Илоном Маском?
#Tesla#Optimus#ИлонМаск#Роботы#Будущее#ИскусственныйИнтеллект
🚀 Маск резко меняет курс: с Марса — на Луну
Маск только что объявил о стратегическом развороте SpaceX: теперь главный приоритет — построить «саморастущий город» на Луне, а не на Марсе.
Почему так решили? Всё просто:
1. Скорость. К Луне можно летать каждые 10 дней, а к Марсу — только раз в 26 месяцев. Это значит, что технологии можно тестировать и улучшать в десятки раз быстрее.
2. Ближе и реальнее. Маск оценивает, что лунную базу можно создать менее чем за 10 лет. Марсианская же колония отодвинулась на 20+ лет.
3. Безопасность. Луна — идеальный полигон для отработки всего, что потом пригодится на Марсе. И она в 1000 раз ближе, если что-то пойдёт не так.
Марс остаётся в долгосрочных планах, но сейчас вся энергия — на «запасной аэродром для человечества» на спутнике Земли.
А где же тут ИИ и роботы?
Именно они станут главными строителями этого города, как мы и предполагали раньше. Армия Tesla Optimus и продвинутый ИИ, которые должны были осваивать Марс, теперь сначала развернутся на Луне. Это ещё больше ускорит процесс.
Напомню наши предыдущие посты на эту тему:
➡️Армия Optimus: 1 миллион роботов к концу 2026 года
➡️ИИ строит мост к Марсу: как роботы Optimus проложат путь человечеству?
Вывод: ИИ и роботы — это не просто игрушки, а ключевой инструмент выживания человечества за пределами Земли. Просто план стал ближе и прагматичнее: сначала Луна, затем — Марс.
#SpaceX#ИлонМаск#ИИ#Луна#Марс#Колонизация#Optimus#Роботы
P.S. Мое предположение о безэкипажной миссии с ИИ и роботами выглядит теперь ещё логичнее, не находите? 💡
https://t.me/semasci