Установить свойства виджета в 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
Cruise окончен. General Motors закрывает сервис роботакси, который обошёлся компании в $10 млрд. Генеральный директор General Motors Мэри Барра заявила, что окупаемость проекта была в слишком отдалённой перспективе, чтобы оправдать вложенные средства.
Cruise станет частью General Motors и будет разрабатывать автономные автомобили для личного пользования. Сколько сотрудников смогут сохранить работу после такого решения, Барра сказать не смогла.
General Motors отчиталась о снижении продаж в третьем квартале на 2,2% по сравнению с аналогичным периодом прошлого года. На фоне падения продаж автомобилей и растущей конкуренции на рынке, в том числе со стороны китайских брендов, инвестиции в усовершенствованные системы помощи водителю, действительно, могут принести плоды компании значительно быстрее.
Ранее General Motors объявила, что спишет более $5 млрд стоимости бизнеса в Китае. На фоне таких крупных расходов инвестиции в Cruise в размере $1 млрд в год становились для компании очень чувствительными. В июле General Motors также объявила, что отказывается от разработки автомобиля без руля и педалей Cruise Origin.
Проблемы у Cruise начались в прошлом году из-за ДТП, когда под колёса роботакси попал пешеход, сбитый другим автомобилем, и компания попыталась скрыть улики от регуляторов. Оказалось, что автономный автомобиль протащил пешехода несколько метров. Cruise пришлось приостановить эксплуатацию всех автомобилей, а генеральному директору компании Кайлу Вогту – уйти в отставку. Однако через несколько месяцев Cruise начала поэтапно возобновлять испытания.
«Если раньше это было неясно, то теперь ясно: GM – это сборище тупиц», - написал Вогт на своей странице в X после объявления Барра.
General Motors была одной из первых компаний, инвестировавших в запуск сервиса роботакси. Её главный конкурент Waymo (Alphabet) успешно запустил такой сервис в Сан-Франциско, Лос-Анджелесе и Финиксе. Ранее Waymo привлекла ещё более $5 млрд инвестиций.
#cruise
Uber станет автономнее. Компания договорилась о запуске сервиса роботакси с Cruise, принадлежащей General Motors.
Беспилотные автомобили Cruise должны появиться в приложении Uber уже в 2025 году. Пока непонятно, где именно они будут возить пассажиров, но на текущий момент Cruise ездит в Финиксе, Далласе и Хьюстоне. Ранее компания тестировала роботакси в Сан-Франциско и Остине.
С 2023 года Uber сотрудничает с Waymo в Финиксе. Uber также работает с компаниями, которые занимаются автономными грузоперевозками и рободоставкой. Среди них – Aurora, Waabi, Nuro, Serve и Cartken. С последней Uber развивает рободоставку в Японии, а с Aurora успешно завершил пилотный проект по доставке грузов из Далласа в Хьюстон и подписал долгосрочный контракт.
Хочется предсказать, что к 2025 году в США будет, как минимум, два крупных сервиса роботакси – у Waymo и Cruise, «дочки» General Motors. Однако последняя только возвращается в беспилотную гонку, из которой уже однажды с треском вылетела в погоне за Waymo. Если коротко, в 2023 году автономный автомобиль Cruise протащил пешехода, которого сбила другая машина, и компания попыталась скрыть этот факт. В итоге ей пришлось полностью свернуть испытания роботакси, сменить почти весь топ-менеджмент и перезапустить тестирование с водителем-испытателем за рулём. Это обошлось General Motors почти в миллиард долларов.
#cruise
General Motors отказалась от разработки автомобиля без руля и педалей Cruise Origin. В компании считают, что это позволит снизить расходы её беспилотного подразделения и уменьшить риски на фоне неопределенности регулирования автономных транспортных средств без возможности ручного управления.
В качестве основной платформы Cruise будет использовать Chevrolet Bolt нового поколения.
Cruise постепенно возвращается на дороги США после ДТП с участием пешехода в октябре 2023 года. В ноябре компания заявила, что приостанавливает работу над Cruise Origin. А в июне General Motors объявила, что инвестирует в Cruise ещё 850 миллионов долларов для покрытия операционных расходов.
#cruise
General Motors инвестирует в Cruise ещё 850 миллионов долларов. Это позволит покрыть операционные расходы Cruise после приостановки тестирования её беспилотных автомобилей из-за ДТП с пешеходом.
#cruise
https://www.theverge.com/2024/6/11/24176206/gm-cruise-invest-850-million-operational-cost-houston
Cruise возвращается на дороги. Вслед за началом испытаний в Финиксе (Аризона) компания возобновляет испытания беспилотных автомобилей в Далласе (Техас). Всё по той же схеме – сначала без пассажиров и с водителем за рулём.
В октябре после столкновения с обычным автомобилем пешехода отбросило под колеса беспилотника Cruise. Компания умолчала о том, что беспилотник протащил пешехода несколько метров. Когда об этом стало известно, власти Сан-Франциско отозвали у компании лицензию на полностью беспилотные тесты. Cruise, в свою очередь, объявила, что прекращает все испытания беспилотных автомобилей.
В апреле Cruise ограниченно возобновила испытания в Финиксе, а в мае автомобили компании снова начали ездить автономно с водителем-испытателем, который «страхует» автопилот, но не принимает участие в управлении. Таким образом, возобновление испытаний Cruise в остальных городах – вопрос нескольких месяцев.
#cruise
https://qz.com/cruise-gm-self-driving-autonomous-cars-dallas-avs-texas-1851516804
Cruise возобновляет испытания беспилотных автомобилей в Финиксе. Но пока с водителем за рулём и без пассажиров. В компании заявили, что целью тестирования будет сбор дополнительных данных для улучшения качества технологии автономного вождения.
В октябре после столкновения с обычным автомобилем пешехода отбросило под колеса беспилотника Cruise. Компания умолчала о том, что беспилотник затем съехал с дороги и протащил пешехода еще несколько метров. Когда об этом стало известно, власти Сан-Франциско отозвали у компании лицензию на полностью беспилотные тесты. Cruise, в свою очередь, объявила, что прекращает все испытания беспилотных автомобилей.
#cruise
https://www.theverge.com/2024/4/9/24125618/cruise-resume-robotaxi-testing-self-driving
🚕 Роботакси Cruiseразрешили круглосуточно перевозить сотрудников и «опытных клиентов» в Сан-Франциско (США).
Другие пассажиры могут воспользоваться беспилотниками только с 22:00 до 5:30 утра в северо-западной части города. Для них услуга платная.
🙅♂️ В Сан-Франциско, Фениксе и Остине в ночное время одновременно курсирует около 240 робокаров Cruise. Данных о количестве автомобилей отдельно по городам нет.
#Cruise#транспорт
🚕 Роботакси Cruiseзаблокировали проезжую часть в Сан-Франциско из-за непогоды. Вероятно, они не смогли распознать вызванные штормом препятствия.
22 марта 2023 года два дерева упали на проезжую часть и оборвали троллейбусные электролинии. Пожарная служба Сан-Франциско оградила место происшествия желтой предупреждающей лентой.
👀 По словам очевидцев, два робомобиля Cruise без операторов безопасности не смогли обнаружить препятствия и ограничивающие движение знаки. Вместо этого беспилотники «запутались в них».
В Cruise подтвердили инцидент. Некоторые из них передвигались автономно, но при необходимости операторы немедленно отправляли на место происшествия эвакуационную бригаду, добавили в компании.
🙅♂️ По словам представителя Cruise, беспилотники не перевозили пассажиров и их поведение не привело к травмам или материальному ущербу.
Департамент автотранспорта Калифорнии связался с производителем для выяснения обстоятельств.
#Cruise#транспорт
🚗 Более шести роботакси Cruise заблокировали движение транспорта на несколько часов в Сан-Франциско (США).
По данным TechCrunch, 28 июня 2022 года несколько беспилотников внезапно перестали работать в городском районе Филлмор. Прибывшим на вызов сотрудникам Cruise пришлось вручную перемещать робокары.
🙅♂️ В компании извинились за инцидент, но не объяснили причин такого поведения беспилотников.
#Cruise#транспорт
🚕 Калифорнийский регулятор разрешилCruise и Waymo осуществлять коммерческие пассажирские перевозки беспилотниками со страхующим водителем за рулем.
Cruise позволили развозить клиентов на некоторых дорогах общего пользования в Сан-Франциско с 22:00 до 6:00 на скорости до 48 км/ч. Waymo разрешили доставлять пассажиров в некоторых частях Сан-Франциско и округа Сан-Матео на скорости до 104 км/ч.
☝️ Регулятор запретил обеим компаниям работать во время густого тумана или сильного дождя.
#Cruise#Waymo
🌍 Icon of the Seas Cruise Ship
📏
📏
📏
📏
📏
📏
📏
📏
⭐ Icon of the Seas offers an unforgettable cruise experience with luxurious amenities, thrilling activities, and world-class entertainment.
📏
📏
📏
📏
📏
📏
📏
📏
#Cruise#IconOfTheSeas@voyage
🚕 В 2023 году Cruiseпланирует запустить роботакси в Дубае. Компания отправила два автономных электромобиля Chevrolet Bolt для картографирования города.
Беспилотники под управлением операторов соберут данные в жилом районе Джумейра. Робокары оборудованы лидарами, радарами и камерами.
#Cruise#ОАЭ