Регулярно приходится писать и ревьюить код, где используется 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
27.03.26 Покровское - Андреевка - Даниловка
Позиционные боевые действия в Днепропетровской зоне безопасности.
Позиции ВС РФ в жилой застройке Андреевки и Даниловки обстреляна с дрона ВСУ. Уточнение зоны контроля ВС РФ в Днепропетровской области.
14:00 47.889146, 36.197578
10:30 47.876300, 36.232817
Источник 21+
Геопривязка
#ru#add
26.03.26 Степногорск - Речное
Активные боевые действия в районе Каменского.
Боевая работа подразделений ВС РФ в населённом пункте Речное и его окрестностях. ВС РФ удерживают под уверенным контролем занятые рубежи по южному берегу реки Конка в районе бывшего Каховского водохранилища.
0:00 47.657223,35.321983
2:50 47.672961,35.319197
Источник https://t.me/Bender_Group1/218
Геопривязка
#ru#add
17.04.26 Купянск - Юбилейный
Позиционные боевые действия в Купянске.
Позиция ВС РФ частом секторе рядом с Юбилейным обстреляна ВСУ.
Боевые действия в 3 км от зоны уверенного контроля ВС РФ. События предположительно март 2026.
49.699130, 37.594947
Источник 21+
Геопривязка
#ru#add
04.02.26 Константиновка - 2-й микрорайон - Центральный - Цинковый
Штурм Константиновки.
Серия авиабомбовых ударов ВКС РФ по позициям ВСУ в районах многоэтажной застройки. Применение авиационных боеприпасов с модулем планирования и коррекции.
Удаление от зоны активных боевых действий от 2 км.
Источник https://t.me/rusich13sho/1405
Геопривязка
#ua#add
@creamy_caprice
Подписаться на канал
@Bahmut_Klehseevka
Чат канала
26.01.26 Константиновка - Новосёловка
Штурм Константиновки.
Успешное поражение после обстрела FPV-дронами ВС РФ бронемашины ВСУ на западе Константиновки.
Удаление от зоны активных боевых действий до 7 км.
Источник https://t.me/yuzhny_front_ZOV/22177
Геопривязка
Геопривязка
#ua#add
@creamy_caprice
Подписаться на канал
@Bahmut_Klehseevka
Чат канала
19.01.26 Константиновка - Центральный
Штурм Константиновки.
После обстрела FPV-дронами ВС РФ бронемашину ВСУ разорвало на части в районе многоэтажной застройки Центральный.
Удаление от мест активных боевых действий около 3 км.
Источник https://t.me/z4lpr/1444
#ua#add
📱@creamy_caprice
21.03.26 Купянск - Юбилейный
Активные боевые действия в Купянске.
Заявлено как движение военнослужащих ВС РФ на западной окраине города. Событие на удаление 3 км от зоны активных боевых действий.
49.69662, 37.59368
Источник https://t.me/operationall_space/10401
Геопривязка
Геопривязка
#ru#add
18.04.26 Гуляйполе - Староукраинка
Активные боевые действия в районе Гуляйполя.
Атака ВСУ механизированной группой в направлении Строукраинки. ВС РФ сожгли оставленный бронеавтомобиль ВСУ около населённого пункта. Боевые действия на разграничении зон контроля.
47.67792, 36.14316
Источник https://t.me/voin_dv/19292
#ua#add
@tlgrmcbot
Qué puede hacer este bot?
Este es el bot oficial de telegramic.org! La gente a menudo me usa para iniciar sesión en el sitio web de Telegramic. Pero puedo hacer más! Si no puede encontrar un contenido de Telegram en Telegramic, ¡puede agregarlo!
Idioma: Inglés
(visto en @BotsGram_cu)
#channels, #search, #index, #bestof, #rating, #reviews, #share, #inline, #explore, #discover, #add, #telegramic, #telegram