Регулярно приходится писать и ревьюить код, где используется 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
Noah:
Name: justin bieber coachella night 1 apr 11 2026 full performance
Size: 872MB
.
Link: 👉Press me and click START to get the hidden link
#Terabox#求转存
♾@gdsharing♾Google Drive限制了日分享流量:求补链
Noah:
Name: Marvel Zombies / 漫威殭屍 動畫 多語言
Size: 4.95GB
.
Link: 👉Press me and click START to get the hidden link
#Terabox#求转存
♾@gdsharing♾Telegram/电报/纸飞机的网页端:可能无法点击链接
#1 ah: Help 💬
Noah:
Name: Hollow Knight Silksong
Size: 1.684GB
.
Link: 👉Press me and click START to get the hidden link
#Terabox#求转存
♾@gdsharing♾Google Drive限制了日分享流量:求补链
TeraBox
🆕Обновление
Удобное и безопасное облачное хранилище с большим объемом выделенного места. Поддерживает автоматическое резервное копирование фотографий и видео.
⚙️Полная версия, частично разблокированы Premium функции — доступно 2 Tb места (может работать не на всех серверах), вход через электронную почту (до 6642₽).
#Файлы@pm_plus
#Terabox@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
Noah:
Name: FC2-PPV-4892416
Size: 5.03GB
【懷孕/暫停更新】兩名19歲美女網紅3P無保護性愛影片緊急發布。 *價格將陸續上漲。
Link: 👉Press me and click START to get the hidden link
#Terabox#R18#FC2#求转存
♾@gdsharing♾赞/踩:可点、改、取消,每日有次数限制
#1 ygs: Noah:
Name: FC2-PPV-4892416
Size: 5.03GB
【懷孕/暫停更新】兩名19歲美女網紅3P無保護性愛影片緊急發布。 *價格將陸續上漲。
Link: 👉 Press me and click START to get the hidden link
#Terabox#R18#FC2#求转存
♾@gdsharing♾ 赞/踩:可点、改、取消,每日有次数限制 💬
#2 shun: FC2
Noah:
Name: FC2-PPV-4849846
Size: 7.32GB
FC2史上最年輕的美女之一,以近乎處女般的純真姿態站在鏡頭前。她只與一位性伴侶有過一次性經歷,發育尚未成熟的陰道在原始的衝擊下劇烈跳動,呈現出無比真實的狀態。
Link: 👉Press me and click START to get the hidden link
#Terabox#R18#FC2#求转存
♾@gdsharing♾赞/踩:可点、改、取消,每日有次数限制
#1 zhou: FC2-PPV-4849846 💬
#-1 gewenr: 微暗之火
#2 张三: 回复
#3 js: 微暗之火
#4 德芳: l
Noah:
Name: FC2-PPV-4852711
Size: 6.38GB
清純地下偶像出道前夕。課後秘密會面視頻。美人胴體四連擊。
Link: 👉Press me and click START to get the hidden link
#Terabox#R18#FC2#求转存
♾@gdsharing♾Google Drive限制了日分享流量:求补链
#1 Rosseeo: 1 💬
#2 Rơm: 已删除
Noah:
Name: FC2-PPV-4854900
Size: 4.45GB
上次人氣爆棚的18歲性感苗條美女首次嘗試cosplay攝影! 「請射在我裡面♡」她懇求道,我們當然滿足了她的願望【無碼,內射】
Link: 👉Press me and click START to get the hidden link
#Terabox#R18#FC2#求转存
♾@gdsharing♾Google Drive限制了日分享流量:求补链
#1 随风: 1 💬