Регулярно приходится писать и ревьюить код, где используется 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
☃️970_из того, что есть☃️
Доброго времени суток, Россия🎄
На фото рабочий стол нашего специалиста по ремонту дронов. Можете ознакомиться с качеством запчастей.
Но даже из такого, казалось бы, мёртвого хлама, можно достать нужные детали для ремонта.
Работаем!
🎄До нового года остались считанные часы...🎄
❄️С наступающим ❄️
🇷🇺Мы в МАХ
Инженерный💪фронт
Призрак Новороссии
2025.
🎄rutube🌍vkвидео🌍дзен
#дрон#dji#mavic
#БПЛА#Mavic#Сброс Боевая работа расчётов БПЛА группировки "Запад" по укреплениям и укрытиям личного состава ВСУ на Богуславском направлении. Выучка и высокий уровень боевого мастерства расчётов в немалой степени обеспечивают продвижение линии фронта вперёд, позволяя пехоте отбивать у врага всё новые и новые позиции.
#БПЛА#Mavic#Сброс Пока страна на новогодних каникулах, боевая работа на Богуславском направлении идёт в штатном режиме. Свежая подборка новогодних сбросов от операторов БПЛА группировки "Запад"
#БПЛА#Mavic#Сброс Недавно, на Богуславском направлении, противник попытался отбить занятые бойцами группировки "Запад" позиции. В результате умелых и слаженных действий наших воинов, контратака противника была отбита, враг понёс потери и отступил. Это прекрасный подарок Родине от наших бойцов к празднованию Нового Года! Наше дело правое. Враг будет разбит. Победа будет за нами. С наступающим Новым Годом!
#БПЛА#Mavic#Сброс Боевая работа операторов БПЛА группировки "Запад" это не только успешные сбросы и уничтожение живой силы и техники врага. Бойцы сбрасывают над территориями которые контролируются противником листовки агитирующие врага оставить свои позиции и сдаваться в плен. Информационное противоборство - неотъемлемая часть современной войны.
#БПЛА#Mavic#Сброс На Богуславском направлении бойцы группировки "Запад" день за днём оттачивают свои боевые навыки. Оператор БПЛА Волчок демонстрирует своё искусство, великолепным сбросом уничтожая ещё одного бойца противника.
#БПЛА#Mavic#Сброс На видео военнослужащий группировки "Запад", воюющий на Богуславском направлении, позывной Элджей, рассказывает о своей боевой работе. Специалист в изготовлении зарядов для сбросов с БПЛА, готовит подарки для противника недалеко от ЛБС. Успехом пользуются именно фугасные заряды, которые помогают уничтожать опорные пункты противника для более упрощённого продвижения штурмовых групп.
#БПЛА#Mavic#Сброс Ночная боевая работа операторов БПЛА группировки "Запад" на Двуреченском направлении по живой силе противника за летний-осенний период. Архивные кадры.