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

Резултати

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

Пребарај: #voltbro

当前筛选 #voltbro清除筛选
Voltbro/Братья Вольт

@Voltbro_official · Post #68 · 08.07.2025 г., 08:30

Мы начинаем I Чемпионат по космической робототехнике "Кубок Роверов" 🏆🤖 Сегодня начинается первый день соревнований. Команды потихоньку начинают собираться в НИИ механики МГУ, в котором для них подготовлены аудитории для подготовки своего оборудования, испытательный полигон с естественным природным ландшафтом, и пирожки и кофе 🥧☕️ Пожелаем удачи командам и организаторам! #rovercup#voltbro#кубокроверов

Voltbro/Братья Вольт

@Voltbro_official · Post #20 · 06.06.2025 г., 14:50

Эксперты завершили оценку Итоговых отчетов для допуска к финалу чемпионата по космической робототехнике "Кубок Роверов" и мы готовы объявить результаты. Команды, которые приглашаются на финал: 🏆Лига 1. Навесное оборудование для ровера: 1. KSX - г. Великий Новгород 2. Высотка - г. Москва 3. АЦТ-111 - г. Санкт-Петербург 4. Квазар - г. Калининград 5. Лужайка - г. Волгоград 🏆Лига 2. Малый ровер: 1. techno_team - г. Новосибирск 2. PowerRangers - г. Новосибирск 3. КТИМ - г. Новомосковск Спасибо командам Космостарс и Космоксик, которые не прошли в финал, за участие! Мы надеемся, что за этот год вы приобрели необходимые навыки для успешного участия в нашем Чемпионате в следующем году! Напоминаем, что финал пройдет с 8-го по 11-ое июля на базе НИИ механики МГУ им. М.В. Ломоносова Всю информацию о Чемпионате можно найти на сайте: https://roverchallenge.ru/ #voltbro#кубокроверов#братьявольт

Voltbro/Братья Вольт

@Voltbro_official · Post #6 · 25.05.2025 г., 19:16

У нас продолжается региональный отбор в конкурсе "АгроНТРИ" Мы ведем номинацию АгроРоверы и год от года она становится всё серьезней и серьезней. Наша номинация достаточно сложная, но огромный прогресс в том, что мы получаем обратную связь от коллег в АгроВУЗах - что как лучше организовать и как доделать. Это огромный прогресс по сравнению с первыми разами, когда просто все делали как могли. Будем расти дальше. Спасибо огромное всем агроВУЗам, которые не бросили из-за сложности, а постарались разобраться. #АгроНТРИ#АгроРоверы#Voltbro

Voltbro/Братья Вольт

@Voltbro_official · Post #100 · 14.07.2025 г., 15:17

Небольшой видеоролик о прошедшем финале I-го Чемпионата по космической робототехнике "Кубок Роверов" 2025 года! https://vk.com/video-206862623_456239563 Будем ждать всех в следующем соревновательном году! Уже скоро анонс еще одного роверного соревнования 🤖🏎 #rovercup#кубокроверов#voltbro#братьявольт

Voltbro/Братья Вольт

@Voltbro_official · Post #280 · 29.10.2025 г., 07:28

🚀 1 ноября завершается регистрация на чемпионат по космической робототехнике «Кубок Роверов»! Регистрация членов команд здесь: roverchallenge.ru/reg 👨‍🚀 Участвовать могут как школьные (с 8-го класса), так и студенческие команды. Компетенции в команде: электронщик, конструктор, программист. Регламент чемпионата соответствует международным соревнованиям RoverChallenge, в которых российская команда заняла 2-е место в Канаде в этом году! Вас ждут космические задания, где вы: - освоите ROS (Robot Operating System), Python и C; - попробуете симулятор Gazebo; - поработаете с электроникой, схемотехникой и системами связи; - прокачаете навыки проектной деятельности — командную работу, защиту проектов, видеомонтаж, создание презентаций и документации. Чемпионат проходит при поддержке Госкорпорации «Роскосмос» и НИИ механики МГУ им. М.В. Ломоносова. #voltbro#кубокроверов#rovercup#вольтбро#роскосмос

Voltbro/Братья Вольт

@Voltbro_official · Post #196 · 15.09.2025 г., 14:37

🚀 Начинаем новый сезон чемпионата по космической робототехнике «Кубок Роверов»! Если ты хочешь попробовать себя в разработке роботов, работающих в реальных условиях, — этот чемпионат для тебя. 📅Регистрация открыта до 1 ноября 2025 → roverchallenge.ru/reg 👨‍🚀 Участвовать могут как школьные (с 8-го класса), так и студенческие команды. Вас ждет работа над проектом, где вы: - познакомитесь с космическими миссиями и планетоходами; - освоите ROS (Robot Operating System), Python и C; - попробуете симулятор Gazebo; - поработаете с электроникой, схемотехникой и системами связи; - прокачаете навыки проектной деятельности — командную работу, защиту проектов, видеомонтаж, создание презентаций и документации. Каждая команда сможет придумать и реализовать свой научный проект по исследованию планет. Видео с Финала I-го чемпионата: https://vkvideo.ru/video-206862623_456239563 ℹ️ Подробнее о чемпионате — на сайте: roverchallenge.ru Чемпионат проходит при поддержке Госкорпорации «Роскосмос» и НИИ механики МГУ им. М.В. Ломоносова. 🏆 Впереди вас ждет много промежуточных отчетов и финальных призов, а финал состоится в Москве в июле 2026 года. Ждем как начинающих, так и опытных робототехников! #voltbro#кубокроверов#rovercup#вольтбро#роскосмос

Voltbro/Братья Вольт

@Voltbro_official · Post #266 · 15.10.2025 г., 13:03

Первый набор электроники VBCores для участия в чемпионате "Кубок Роверов" наконец-то нашёл своих счастливых обладателей! Ими стали прошлогодние финалисты Лиги 1 — команда "Высотка". 🏆 Мы уверены, что с этим комплектом у них получится добиться ещё более впечатляющих результатов, создавая своего собственного ровера для Лиги 2. А мы тем временем готовим учебный курс по работе с VBCores — от первых шагов и запуска простых примеров до сборки настоящей электроники для управления ровером. #voltbro#вольтбро#кубокроверов#rovercup#vbcores

Voltbro/Братья Вольт

@Voltbro_official · Post #237 · 03.10.2025 г., 12:05

🚀 Друзья! Напоминаем, что регистрация на II Чемпионат по космической робототехнике «Кубок Роверов» продолжается! «Кубок Роверов» — российский аналог международных Rover Challenge, где школьники и студенты создают собственные планетоходы и проверяют их в условиях, максимально приближенных к реальным космическим миссиям. Это шанс проявить инженерное мышление, прокачать навыки проектирования, электроники и программирования, научиться работать в команде и стать частью сообщества будущих исследователей космоса. ✨ В этом году участников ждёт: 1️⃣Совершенно новая станция для задачи технического обслуживания в Лигах 1 и 2 2️⃣Переход на ROS2 в Лиге 1 3️⃣Рекомендуемые наборы электроники на базе STM32 4️⃣Ещё больше образовательных видео и методических материалов 🔗Успейте зарегистрироваться: https://roverchallenge.ru/reg 📸 Фото, результаты прошлого года и все подробности — на официальном сайте: https://roverchallenge.ru/ Будущее космоса начинается здесь — присоединяйтесь к Чемпионату «Кубок Роверов»! #voltbro#кубокроверов#rovercup#вольтбро#роскосмос#msu