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

Резултати

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

Пребарај: #mosbuild

当前筛选 #mosbuild清除筛选
Новости MosBuild

@mosbuild_2021 · Post #2200 · 20.12.2025 г., 16:12

До Нового года остались считанные дни, а подарок для дизайнера или архитектора ещё не выбран? У MosBuild есть идеи! В подборке — предметы, которые точно оценят те, кто разбирается в форме, цвете и пространстве #mosbuild#вдохновение

Новости MosBuild

@mosbuild_2021 · Post #1894 · 29.09.2025 г., 16:19

Подробнее о проектах читайте в источниках: спортивный клуб в электростанции, винодельня с интересной крышей, реставрация усадьбы #вдохновение#mosbuild

Новости MosBuild

@mosbuild_2021 · Post #1668 · 01.09.2025 г., 17:51

Подробнее о проектах читайте в источниках:винодельня от ASR, подборка образовательных учреждений от журнала Interior+Design, аэропорт от KPLN #вдохновение#mosbuild

Новости MosBuild

@mosbuild_2021 · Post #2386 · 24.02.2026 г., 15:31

10 городов, 3 страны и сильное партнёрство: спасибо за D+A Tour 25/26 ❤️ Региональная программа D+A Tour от MosBuild в этом сезоне стала масштабным профессиональным маршрутом по России и странам СНГ. Мы объединили 10 городов — Санкт-Петербург, Казань, Нижний Новгород, Минск, Новосибирск, Красноярск, Екатеринбург, Алматы, Краснодар и Ростов-на-Дону. Команда выставки преодолела тысячи километров, чтобы создать пространство для профессионального диалога, вдохновения и развития архитектурно-дизайнерского сообщества. Каждая встреча D+A Tour — это новые знакомства, живые дискуссии, обмен опытом и практикой, актуальные тренды и реальные кейсы. Этот масштабный путь был бы невозможен без поддержки наших партнёров! Благодарим партнёров программы:AM Group, Kerama Marazzi, Manders, Espocada, Dea Design, MercuryStone, Boca Room, Императорский фарфоровый завод, I-Design Awards, VEKA Rus, Алютех, Tanu, Студию 40. И наших информационных партнёров Hi home и Архдиалог. Особую благодарность выражаем генеральному партнёру D+A Tour — Knauf — за стратегическую поддержку и вклад в развитие отрасли в регионах. Спасибо за доверие, вовлечённость и готовность вместе развивать профессиональное сообщество! #datour#mosbuild

Новости MosBuild

@mosbuild_2021 · Post #2175 · 03.12.2025 г., 15:03

Фотографии с мероприятий D+A Tour в Алматы уже доступны на MosBuild Connect Урбан-тур по новым жилым объектам города, звездная деловая программа — смотрите, как прошел D+A Tour в Казахстане! ➖Урбан-тур — https://clck.ru/3Qc7Jd ➖Деловая программа — https://clck.ru/3Qc7Md и https://clck.ru/3Qc7Nv Фотографии из других городов региональной программы вы также можете найти в разделе «Контент» онлайн-сообщества MosBuild Connect #datour#mosbuild

Новости MosBuild

@mosbuild_2021 · Post #2153 · 22.11.2025 г., 14:34

D+A Tour в Алматы: вдохновляющий диалог об архитектуре и дизайне состоялся 20–21 ноября прошёл яркий D+A Tour. Участники погрузились в насыщенную программу: от эксклюзивного Урбан-тура от партнеров мероприятия «Студии 40» до выступлений ведущих экспертов отрасли Первый день тура включил посещение ЖК Dream City Family, ЖК Verdi и ЖК Dostyq 300, где гости смогли оценить современные архитектурные решения и градостроительные подходы Деловая часть программы прошла в пространствеImagine. Слушателей ждали лекции о главных тенденциях в дизайне, развитии студий, готовых интерьерных решениях и роли технологий в архитектуре.Средиспециальных гостей D+A Tour — амбассадоры MosBuild Михаил Шапошников и Диана Балашова, а также представители экосистемы TANU, партнеров региональной программы в Алматы Событие завершилось вдохновляющим интервью и неформальным общением участников — D+A Tour вновь подтвердил свою роль как международной площадки для обмена опытом, идеями и новыми профессиональными связями До встречи в следующем городе! #datour#mosbuild

Новости MosBuild

@mosbuild_2021 · Post #2072 · 27.10.2025 г., 17:00

Перед тем как D+A Tour пройдет на юге России, давайте вспомним как региональная программа прошла в Новосибирске! Все фото- и видеоматериалы с мероприятия уже доступны в разделе «Контент» онлайн-сообщества MosBuild Connect #mosbuild#datour

123•••1011
ПретходнаСтраница 1 од 11Следна