Регулярно приходится писать и ревьюить код, где используется 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
📖Title : Lady Chatterley's Lover
✍️Author : D. H. Lawrence
⭐️Rating : 3.50/5 (Goodreads)
📆Published : Jan 01, 1928
————————————————
Summary:Lady Chatterley’s Lover by D.H. Lawrence tells the story of Constance (Lady Chatterley), a young woman trapped in a passionless marriage to Sir Clifford, a paralyzed war veteran more concerned with intellect than intimacy. Emotionally and physically unfulfilled, she begins an affair with Oliver Mellors, the gamekeeper on their estate. Their relationship blossoms into a deep, sensual, and emotional connection, breaking through rigid class divisions and societal expectations. Through this affair, Constance rediscovers her own desires and the power of human connection. The novel explores themes of love, class, sexuality, and personal freedom in a repressive, post-war English society.
————————————————
#erotic#fiction#romance#classics@Bookslibraryofficial@free_novellas@the_ancient_library@thesciencelabs
#Movie Bad Teacher
⚔️Genres: #Comedy#Erotic 18+
🔊 Language : #🔥English
💿 Quality : BluRay HD
🔖 sʜᴏʀᴛ : She’s broke, she’s reckless, and she’s the kind of teacher who cares more about high heels than homework. When her plan to snag a rich husband crashes and burns, she hatches an even crazier scheme…
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
480p👇👇
https://t.me/+w-JLkZEuxFIyMmQ0
720p👇👇
https://t.me/+w-JLkZEuxFIyMmQ0
📌 Add your channel @freebets89
#Movie Bad Teacher
⚔️Genres: #Comedy#Erotic 18+
🔊 Language : #🔥English
💿 Quality : BluRay HD
🔖 sʜᴏʀᴛ : She’s broke, she’s reckless, and she’s the kind of teacher who cares more about high heels than homework. When her plan to snag a rich husband crashes and burns, she hatches an even crazier scheme…
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
480p👇👇
https://t.me/+w-JLkZEuxFIyMmQ0
720p👇👇
https://t.me/+w-JLkZEuxFIyMmQ0
📌 Add your channel @freebets89
#Movie Bad Teacher
⚔️Genres: #Comedy#Erotic 18+
🔊 Language : #🔥English
💿 Quality : BluRay HD
🔖 sʜᴏʀᴛ : She’s broke, she’s reckless, and she’s the kind of teacher who cares more about high heels than homework. When her plan to snag a rich husband crashes and burns, she hatches an even crazier scheme…
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
480p👇👇
https://t.me/+w-JLkZEuxFIyMmQ0
720p👇👇
https://t.me/+w-JLkZEuxFIyMmQ0
📌 Add your channel @freebets89
#Movie Bad Teacher
⚔️Genres: #Comedy#Erotic 18+
🔊 Language : #🔥English
💿 Quality : BluRay HD
🔖 sʜᴏʀᴛ : She’s broke, she’s reckless, and she’s the kind of teacher who cares more about high heels than homework. When her plan to snag a rich husband crashes and burns, she hatches an even crazier scheme…
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
480p👇👇
https://t.me/+w-JLkZEuxFIyMmQ0
720p👇👇
https://t.me/+w-JLkZEuxFIyMmQ0
📌 Add your channel @freebets89
#Movie Bad Teacher
⚔️Genres: #Comedy#Erotic 18+
🔊 Language : #🔥English
💿 Quality : BluRay HD
🔖 sʜᴏʀᴛ : She’s broke, she’s reckless, and she’s the kind of teacher who cares more about high heels than homework. When her plan to snag a rich husband crashes and burns, she hatches an even crazier scheme…
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
480p👇👇
https://t.me/+w-JLkZEuxFIyMmQ0
720p👇👇
https://t.me/+w-JLkZEuxFIyMmQ0
📌 Add your channel @freebets89
#Movie Bad Teacher
⚔️Genres: #Comedy#Erotic 18+
🔊 Language : #🔥English
💿 Quality : BluRay HD
🔖 sʜᴏʀᴛ : She’s broke, she’s reckless, and she’s the kind of teacher who cares more about high heels than homework. When her plan to snag a rich husband crashes and burns, she hatches an even crazier scheme…
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
480p👇👇
https://t.me/+w-JLkZEuxFIyMmQ0
720p👇👇
https://t.me/+w-JLkZEuxFIyMmQ0
📌 Add your channel @freebets89