Установить свойства виджета в 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
Эксклюзив от Уралвагонзавода: уникальное видео испытаний Т-90С в джунглях
Концерн «Уралвагонзавод» впервые публикует редчайшие видеокадры ходовых испытаний танка Т-90С, которые проходили в самых экстремальных и суровых условиях на планете – в джунглях Малайзии.
Эта съемка сохранилась на старой видеокассете одного из инженеров-испытателей, который участвовал в тех событиях. Видео было обнаружено совершенно случайно, когда готовили документальный видеофильм к 25-летию индийского контракта.
🎥 Что происходит на этих кадрах?
Лето 2000-го года, температура за бортом +40С, влажность – как в бане, грязь – по самую башню. Т-90С гоняет там, где, казалось бы, танкам не место: тропические джунгли, болота, малопроходимая местность.
Перед этим Т-90 намотал круги по индийской пустыне Тар, а потом практически сразу совершил 1300-километровый марш-бросок через джунгли Малайзии. Лучшее доказательство того, что российский танк – это не "паркетная" машина для военных парадов, а техника способная воевать там, где другая броня просто не пройдет.
В 2000-х годах Т-90С преодолел все сложнейшие испытания в трех различных климатических зонах – в Малайзии (влажные тропики и болота), в Индии (сочетание пустыни, высокогорья и муссонов) и в Саудовской Аравии (пустыня с её абразивным песком и жарой за 50 градусов).
Никто из конкурентов не прошел этот цикл полностью, а Т-90С подтвердил способность работать в полном климатическим экстриме - даже при +55°C.
🫡🫡🫡 в MAX
#КонцернУВЗ#Т90
Эксклюзив от Уралвагонзавода: уникальное видео испытаний Т-90С в джунглях
Концерн «Уралвагонзавод» впервые публикует редчайшие видеокадры ходовых испытаний танка Т-90С, которые проходили в самых экстремальных и суровых условиях на планете – в джунглях Малайзии.
Эта съемка сохранилась на старой видеокассете одного из инженеров-испытателей, который участвовал в тех событиях. Видео было обнаружено совершенно случайно, когда готовили документальный видеофильм к 25-летию индийского контракта.
🎥 Что происходит на этих кадрах?
Лето 2000-го года, температура за бортом +40С, влажность – как в бане, грязь – по самую башню. Т-90С гоняет там, где, казалось бы, танкам не место: тропические джунгли, болота, малопроходимая местность.
Перед этим Т-90 намотал круги по индийской пустыне Тар, а потом практически сразу совершил 1300-километровый марш-бросок через джунгли Малайзии. Лучшее доказательство того, что российский танк – это не "паркетная" машина для военных парадов, а техника способная воевать там, где другая броня просто не пройдет.
В 2000-х годах Т-90С преодолел все сложнейшие испытания в трех различных климатических зонах – в Малайзии (влажные тропики и болота), в Индии (сочетание пустыни, высокогорья и муссонов) и в Саудовской Аравии (пустыня с её абразивным песком и жарой за 50 градусов).
Никто из конкурентов не прошел этот цикл полностью, а Т-90С подтвердил способность работать в полном климатическим экстриме - даже при +55°C.
🫡🫡🫡 в MAX
#КонцернУВЗ#Т90
#Challenger2#Т90#украина
Вот такая вундервафля прикатила на Украину. Гражданский министр обороны Украины Алексей резников презентовал три британских танка Challenger 2 весом 62,5 тонны каждый. Машина, в целом по ТТХ, неплохая и по ряду характеристик будет лучше, чем наши Т-72БМ.
Но самая главная проблема танка — это его вес. В украинском черноземе, если завязнет (а он точно завязнет), то вытаскивать его украинским экипажам будет нечем под градом снарядов с российской стороны. Даже если он докатится до линии фронта, то первый же удар в гусеницу (которые не защищены) также приведет к потере техники.
При этом непонятно как эти танки будут пересекать водные преграды. Мосты через реки строились в советские годы на Украине и были рассчитаны на массу до 60 тонн, потому что в СССР не было танков тяжелее, а значит ВСУ придется наводить понтонные переправы советского образца, которые также не рассчитаны не массу в 62,5 тонны.
Похожие супертяжелые танки создавала и фашистская Германия в последние годы своего существования. Знаменитый «Mouse» весил 100 тонн, и создатель Фердинанд Порше рассчитывал, что танки будут выполнять роль стреляющих крепостей, зарывшись в грунт. Но испытания показали, что и из грунта потом было невозможно вытащить такие вундервафли. Скорость и маневренность на поле боя оказались важнее толстой брони.
Российская армия сейчас стягивает на фронт «летающие» танки Т-90М «Прорыв», а также массово поставляет противотанковые системы «Контент» и ПТКМ-1Р.
Ждем первое пробитие.
🚕🚕🚕🎄Новогодний эшелон «Прорывов»
Финальная партия танков Т-90М отправилась в российскую армию. Гособоронзаказ-2025 выполнен.
– Объёмы Гособоронзаказа растут, но мы делаем все возможное, чтобы исполнить обязательства перед страной. В эти танки мы вложили и частицу нашей души. Пусть наша броня служит надежной защитой русским воинам, хранит их жизни, – отметил исполнительный директор Уралвагонзавода Владимир Рощупкин.
В танки вложили не только душу, но и небольшие сувениры, памятные альбомы с рисунками и пожеланиями детей сотрудников Концерна УВЗ (Ростех) и тактические аптечки, предоставленные Общероссийским народным фронтом в рамках проекта «Всё для Победы».
Танки Т-90М «Прорыв» продолжают постоянно совершенствоваться. На Уралвагонзаводе ведется непрерывная работа по повышению их защитных, эксплуатационных и технических характеристик на основе актуального опыта боевого применения.
#КонцернУВЗ#танки#Т90
«Это вообще лучший танк в мире. Машина думает за тебя. Когда я освоил её, понял, что на ней работает намного лучше», – так говорят танкисты разведывательно-штурмовой бригады имени Невского добровольческого корпуса про танки Т-90М «Прорыв».
«Прорывы» недавно поступили на вооружение танкового подразделения. Об этом сообщили представители соединения. Сейчас экипажи «обкатывают» танки, готовя их к боевому применению.
«Танки мы назвали в честь наших погибших танкистов: Кос и Чегем. Их позывные нанесены на борта машин», - рассказал командир танкового батальона Тор.
Видео: РИА Новости
#КонцернУВЗ#танки#Т90
Русский танковый прорыв в индийской пустыне
Для многих танк — даже больше, чем дом, на самом деле. Многие считают, что у танка есть душа... И наша задача как разработчиков, безусловно, обеспечить для ребят вот ту веру, ту надежду в боевую машину, которая позволит им уверенно решать боевые задачи на поле боя и не сомневаться, что задача будет выполнена, что боевая машина их не подведёт, – отметил представитель предприятия-разработчика Концерна "Уралвагонзавод".
Об уникальных подробностях индийского контракта на танки Т-90С и воспоминания его участников – в эксклюзивном специальном репортаже телеканала «Россия-24»🎥
#КонцернУВЗ#Т90#УВЗ90
25 лет исполняется индийскому контракту на Т-90!
15 февраля 2001 года был подписан контракт на поставку российских танков Т-90С в Индию. Это событие стало поворотной точкой в истории Уралвагонзавода (входит #КонцернУВЗ Ростеха) и всего танкостроения.
В конце 90-х годов, когда российская «оборонка» находилась в тяжелейшем состоянии, Уралвагонзавод и Уральское конструкторское бюро транспортного машиностроения приняли вызов.
Индия предъявила жесткие требования. Для их исполнения в кратчайшие сроки была создана новая сварная башня, новый двигатель, тепловизоры и множество других узлов и агрегатов.
Машины для испытаний были созданы всего за несколько месяцев.
17 мая 1999 года три опытных образца Т-90С были отправлены в пустыню Тар, где они преодолели более 2000 км в тяжелейших условиях: от адской жары до сокрушающих ливней. Танки и люди с честью выдержали запредельные нагрузки.
Результаты испытаний впечатлили индийскую сторону: бригадный генерал Д. Сингх назвал Т-90С«вторым после ядерного оружия фактором сдерживания».
Итоговый документ, подписанный Рособоронэкспортом и Министерством обороны Индии в феврале 2001 года, предусматривал поставку готовых танков и машинокомплектов для сборки в Индии. От первого показа танка на выставке в Абу-Даби в 1997-м до контракта прошло всего 4 года!
Индийский контракт не только помог Уралвагонзаводу сохранить производство боевых машин, но и стал импульсом для возрождения всей танковой отрасли России.
#Т90#УВЗ90
25 лет исполняется индийскому контракту на Т-90!
15 февраля 2001 года был подписан контракт на поставку российских танков Т-90С в Индию. Это событие стало поворотной точкой в истории Уралвагонзавода (входит в #КонцернУВЗ Ростеха) и всего танкостроения.
В конце 90-х годов, когда российская «оборонка» находилась в тяжелейшем состоянии, Уралвагонзавод и Уральское конструкторское бюро транспортного машиностроения приняли вызов.
Индия предъявила жесткие требования. Для их исполнения в кратчайшие сроки была создана новая сварная башня, новый двигатель, тепловизоры и множество других узлов и агрегатов.
Машины для испытаний были созданы всего за несколько месяцев.
17 мая 1999 года три опытных образца Т-90С были отправлены в пустыню Тар, где они преодолели более 2000 км в тяжелейших условиях: от адской жары до сокрушающих ливней. Танки и люди с честью выдержали запредельные нагрузки.
Результаты испытаний впечатлили индийскую сторону: бригадный генерал Д. Сингх назвал Т-90С «вторым после ядерного оружия фактором сдерживания».
Итоговый документ, подписанный Рособоронэкспортом и Министерством обороны Индии в феврале 2001 года, предусматривал поставку готовых танков и машинокомплектов для сборки в Индии. От первого показа танка на выставке в Абу-Даби в 1997-м до контракта прошло всего 4 года!
Индийский контракт не только помог Уралвагонзаводу сохранить производство боевых машин, но и стал импульсом для возрождения всей танковой отрасли России.
#Т90#УВЗ90
Эксклюзивно про Т-90МС: с выставочного подиума – в бой
Новейший Т-90МС, который в феврале этого года был звездой международной выставки#IDEX в Абу-Даби, уже выполняет боевые задачи в составе российских танковых подразделений.
Машина, которую мы впервые показали за рубежом, была доработана с учётом богатейшего опыта СВО. И в наши войска была отправлена практически в той же комплектации, что и демонстрировалась на выставке в ОАЭ. Изменение коснулось цвета: с «выставочного» песочного камуфляжа танк перекрасили в стандартный армейский зеленый.
Ко Дню танкиста публикуем эксклюзивное видео всего этого пути!
В этом ролике – вся история: от транспортировки танка на выставку, его работы на стенде Рособоронэкспорта и до возвращения домой, перекраски и отправки героям-танкистам.
#КонцернУВЗ#Т90
Готовы сотрудничать с Малайзией по новому Т-90МС
Накануне Международной оборонной выставки DSA 2026 в Куала-Лумпуре концерн «Уралвагонзавод» совместно с «Рособоронэкспортом» заявил о готовности предложить Малайзии передовой танк Т-90МС с максимально выгодными условиями. Об этом сообщило информагентство ТАСС.
В рамках стратегии развития сотрудничества со странами Юго-Восточной Азии российская сторона готова рассмотреть широкий спектр кооперационных схем. Потенциальным партнерам могут быть предложены варианты от поэтапной сборки техники до ее полного сервисного сопровождения. Такой подход уже успешно реализован в проектах с Индией и другими странами.
🔸 Автономность и надежность
Т-90МС – это машина, спроектированная как «автономная единица». В #Ростех подчеркнули, что российские танки способны длительное время действовать в отрыве от баз снабжения, сохраняя высокую подвижность и огневую мощь.
Простые решения в конструкции также обеспечивают высокую ремонтопригодность в полевых условиях. Замена сложных агрегатов, вплоть до двигателя и трансмиссии, может производиться силами экипажа или штатных подразделений без использования тяжелых кранов и заводских цехов.
🔸 Проверка джунглями
Предложение базируется не только на тактико-технических характеристиках, но и на реальном опыте. 2000-м году Т-90С успешно прошел интенсивные испытания в сложных климатических условиях Малайзии, полностью подтвердив заложенную в него концепцию «танка для любых театров военных действий».
Источник: ТАСС
🫡🫡🫡 в MAX
#КонцернУВЗ#Т90#танки