Регулярно приходится писать и ревьюить код, где используется 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 : "The Mysterious Nightmare"
The nightmare I got a day before,
Was full of science and plenty more,
The world of progress that we think of tonight,
The robots were working, it was a dreadful night.
It was when the human were servants,
Robots were having bungalows or villas,
We were that time the only vagrants.
The humans were robots and the robots were humans,
They all were having parties and we were being summoned.
They were instructing us as if we were dolls,
But the reality was that it was they robotic dolls.
They were the ones we then pray to God,
The one who takes our ease and comfort and many more.
Suddenly, with a jerk of dream, I saw someone with spiritual rays,
I was unable to see the face but was feeling the sense of gaze.
The voice says," Oh my dear child, calm your mind and enjoy the note of nature".
I then opened my eyes to the end of this dreamy adventure.
In the morning dawn,
With the closet of bizarre dreams and an upset mind,
I woke up on the verge of a melancholic night.
Suddenly, I heard the crazy cries of birds,
It was so blissful that I can't express it within a few words.
Enjoying the subtlety of nature,
I realised the existence of each creature.
Praying to God I would never have such dream,
I started my routine work with an energising scream.
#review
#Cookie
#Nightmare
"Goodnight" and then I sleep. I spent the day with you and I plan on continuing so I keep you in my dreams. It feels magical. Almost surreal. This is what I've longed for. Even after you broke me, you never left my mind. Except this time you were a nightmare, not a dream
#review#nightmare#her#broken
Mi sono stancato di influencer e tiktoker vari, buoni solo a pietrificare l'attenzione verso cose futili.
#vaporonda#vaporwave#vapourwave#vaporart#seapunk#webpunk#glitch#glitchart#glitchartistscollective#chillwave#aesthetic#vaporwaveaesthetic#vaporwaveaesthetics#malinconia#melancholy#tristezza#sadness#sadboy#lofi#apparenza#appearance#appearance#illusione#illusion#incubo#nightmare