Регулярно приходится писать и ревьюить код, где используется PySide2-6.
Заметил, что в подавляющем большинстве случаев настройка создаваемых базовых виджетов происходит через методы. Думаю, всем знаком такой способ.
Простой пример с кнопкой:
button = QPushButton("Click Me")
button.setMinimumWidth(300)
button.setFlat(True)
button.setStyleSheet("font-size: 20pt")
button.setToolTip("Super Button")
button.clicked.connect(lambda: print("Button clicked"))
Но есть и альтернативный способ - настройка через свойства. Это просто ключевые аргументы конструктора класса. Хоть они и не указаны в документации как аргументы, но они есть)
Этот код делает тоже самое но с помощью Property
button = QPushButton(
"Click Me",
minimumWidth=300,
flat=True,
styleSheet="font-size: 20pt",
toolTip="Super Button",
clicked=lambda: print("Button clicked"),
)
Где это может быть полезно
▫️ Это выглядит более аккуратно и коротко, уже повод использовать
▫️ Может использоваться в заполнении лейаута, когда нам не нужно никакое другое взаимодействие с виджетом и поэтому сохранять его в переменную не требуется. Например, лейбл или кнопка.
widget = QWidget(minimumWidth=400)
layout = QHBoxLayout(widget)
layout.addWidget(QLabel("Button >", alignment=Qt.AlignRight))
layout.addWidget(QPushButton("Click Me", clicked=lambda: print("Button clicked")))
widget.show()
Либо так
widget = QWidget(minimumWidth=400)
layout = QHBoxLayout(widget)
for wd in (
QLabel("Button >", alignment=Qt.AlignRight),
QPushButton("Click Me", clicked=lambda: ...)
):
layout.addWidget(wd)
widget.show()
▫️ Можно хранить настройки в каком-то конфиге или генерировать на лету, после чего передавать как kwargs.
kwargs = {"text": "Hello " * 30, "wordWrap": True}
my_label = QLabel(**kwargs)
Как получить полный список доступных свойств?
Эта функция распечатает в терминал все свойства виджета и их текущие значения
def print_widget_properties(widget):
meta_object = widget.metaObject()
for i in range(meta_object.propertyCount()):
property_ = meta_object.property(i)
property_name = property_.name()
property_value = property_.read(widget)
print(f"{property_name}: {property_value}")
#tricks#qt
До Нового года остались считанные дни, а подарок для дизайнера или архитектора ещё не выбран? У MosBuild есть идеи!
В подборке — предметы, которые точно оценят те, кто разбирается в форме, цвете и пространстве
#mosbuild#вдохновение
Подробнее о проектах читайте в источниках:винодельня от ASR, подборка образовательных учреждений от журнала Interior+Design, аэропорт от KPLN
#вдохновение#mosbuild
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
Фотографии с мероприятий D+A Tour в Алматы уже доступны на MosBuild Connect
Урбан-тур по новым жилым объектам города, звездная деловая программа — смотрите, как прошел D+A Tour в Казахстане!
➖Урбан-тур — https://clck.ru/3Qc7Jd
➖Деловая программа — https://clck.ru/3Qc7Md и https://clck.ru/3Qc7Nv
Фотографии из других городов региональной программы вы также можете найти в разделе «Контент» онлайн-сообщества MosBuild Connect
#datour#mosbuild
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
Перед тем как D+A Tour пройдет на юге России, давайте вспомним как региональная программа прошла в Новосибирске!
Все фото- и видеоматериалы с мероприятия уже доступны
в разделе «Контент» онлайн-сообщества MosBuild Connect
#mosbuild#datour