@mezon_school · Post #2669 · 01.07.2025 г., 04:01
🌊💦 День Нептуна в Мезоне — лучшее спасение от жары! Весело, шумно, мокро, эмоционально! Летние брызги, радость и драйв 💙☀️#MezonSummer#ДеньНептуна#ЛетнийЛагерь#ВеселоВМезоне
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
Пребарај: #mezonsummer
@mezon_school · Post #2669 · 01.07.2025 г., 04:01
🌊💦 День Нептуна в Мезоне — лучшее спасение от жары! Весело, шумно, мокро, эмоционально! Летние брызги, радость и драйв 💙☀️#MezonSummer#ДеньНептуна#ЛетнийЛагерь#ВеселоВМезоне
@mezon_school · Post #2688 · 06.07.2025 г., 04:47
🎉 Летняя магия продолжается! 🎉 Прошедшая неделя в лагере Mezon Summer завершилась ярким и сказочным Шоу мыльных пузырей — было море смеха, брызг и волшебства в воздухе! 🫧💫 А впереди — ещё больше приключений и вдохновения! 🌍 7 июля — захватывающий квест «Вокруг света» 🇮🇹 8 июля — ароматный кулинарный мастер-класс в стиле Италии 👑 9 июля — долгожданный конкурс «Мистер и Миссис Мезон 2025» И это ещё не всё... На этой неделе мы начали подбирать рифмы к своим именам — и это только начало большого поэтического путешествия! 📖🖋️ Следите за новостями и не пропустите ни одной яркой страницы лагерной истории! #MezonSummer#ЛетнийЛагерь#MezonMagic#ДетствоВДвижении#лето2025
@mezon_school · Post #2629 · 30.05.2025 г., 14:41
🥋Айкидо для детей от 4 до 14 лет Спокойствие, координация, уверенность — всё это дети получают на татами. 👤 Тренер: Зябликова Анна Геннадьевна (2 дан) 📅 Занятия: понедельник и пятница 🕠 Начало в 17:30 📍 Mezon Inspiring School, Юнусабад, 5 квартал 🔥 А также в Mezon этим летом: 🏊♂️ Занятия по плаванию 🏕 Летний городской лагерь – программа здесь 🧠 Кружок по математике и информатике – подробнее здесь 📚 Идёт набор в 1–8 классы: 🔗Записаться или пригласить друзей 📲 Перешлите этот пост родителям, друзьям, в чаты — пусть как можно больше детей проведут лето с пользой и удовольствием! 🔖 Хэштеги #MezonSchool#TashkentKids#АйкидоТашкент#ЛетнийЛагерьТашкент#СпортДляДетей#ОбразованиеУзбекистан#MezonSummer#ПлаваниеТашкент#МатематикаДляДетей#КружкиТашкент#1КлассТашкент#ШколаЮнусабад
@mezon_school · Post #2628 · 30.05.2025 г., 14:39
🏊♂️ Плавание для детей от 4 до 14 лет Уверенность, здоровье и радость в воде — с самых первых шагов! 💧 Занятия проходят каждый день, включая субботу и воскресенье 📍 Mezon Inspiring School, Юнусабад, 5 квартал 🥋 Также проходят занятия по айкидо Развитие внимания, баланса и самоконтроля в игровой форме 📅 Понедельник и пятница, 🕠 начало в 17:30 ☀️ А ещё в Mezon этим летом: 🏕 Летний городской лагерь — насыщенная программа, море впечатлений 🔗Узнать больше 🧠 Летний кружок по математике и информатике — для думающих и увлечённых 🔗Программа кружка 📚 Идёт набор в 1–8 классы 🔗Записаться или пригласить друзей 📲 Делитесь этим постом, пересылайте друзьям и в родительские чаты — пусть лето будет ярким, полезным и активным! 🔖 Хэштеги #MezonSchool#TashkentKids#ПлаваниеТашкент#СпортДляДетей#ЛетнийЛагерьТашкент#MezonSummer#АйкидоТашкент#ОбразованиеУзбекистан#МатематикаДляДетей#КружкиТашкент#1КлассТашкент#ШколаЮнусабад