Регулярно приходится писать и ревьюить код, где используется 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
🔥 OGCommunity App for daily activity and grabbing OGC tokens for free and many more.
👉 Join Bot for Airdrop :- https://t.me/OGCommunityBot?start=i09w6Cfm9nz7V5wMcLjJVJpz
➖ Click on bot link
➖ Click on open app
➖ Complete tasks to get instant OGC tokens
➖ Mine every day & Done
#Note :- Join fast before #May 31st 🔥
Wikipedia每日一图(#May 16, 2026)https://ift.tt/ixodInV
Partially frozen Gurudongmar Lake, a glacial lake located to the north of the Himalayas in the northeast Indian state of Sikkim at an altitude of over 5,150 metres (16,900 ft). The lake is fed by glaciers of the Khangchengyao massif, forms the headwaters of the Teesta river and is considered sacred by Buddhists and Sikhs. Today is Sikkim Day, which commemorates the formation of Sikkim as a state of India in 1975, following a popular referendum and full merger after decades of being a protectorate since 1947.. 了解更多 . #Wikipedia每日一图
Wikipedia每日一图(#May 14, 2026)https://ift.tt/TXQ67sq
This stained glass window in the Cathedral of Saint Julian of Le Mans (Le Mans, France) depicts the Virgin Mary and the apostles during the Ascension of Jesus. Today is the Feast of the Ascension in Western Christianity.. 了解更多 . #Wikipedia每日一图
Wikipedia每日一图(#May 13, 2026)https://ift.tt/UjxK9Pg
This azulejo from the Igreja de São Bento (Ribeira Brava, Madeira, Portugal) depicts Our Lady of Fátima. Today is the feast of Our Lady of Fátima in the Catholic Church and the 110th anniversary of her first apparition to three shepherd children.. 了解更多 . #Wikipedia每日一图
Wikipedia每日一图(#May 12, 2026)https://ift.tt/EpzY47y
Aerial view of the ruins of Takht-i-Bahi, a 1st-century CE Buddhist monastery complex located in what was once the ancient Indian region of Gandhara, in the present-day northern Pakistani province of Khyber Pakhtunkhwa. It is representative of Buddhist monastic architecture from its era and the ruins were listed as a World Heritage Site in 1980, with UNESCO describing it as having been "exceptionally well-preserved".. 了解更多 . #Wikipedia每日一图
Wikipedia每日一图(#May 10, 2026)https://ift.tt/82UdYl5
Flower buds in development of a Crocosmia 'Lucifer' (Montbretia). Focus stack of 54 photos.. 了解更多 . #Wikipedia每日一图