Регулярно приходится писать и ревьюить код, где используется 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
Langzeitlebensmittel - 7 Tage Notration
18% Rabatt ‼️
Dieses Paket bietet Lebensmittel für eine Person für 7 Tage. Die Hauptmahlzeiten sind gefriergetrocknet im wiederverschließbaren Standbodenbeutel und unter Schutzatmosphäre verpackt. Oberstes Gebot ist dabei: Die Energie, die wir zu uns nehmen, soll so gut wie möglich schmecken!
✔️Gerichte einfach zubereiten - nur heißes Wasser hinzufügen!
✔️Leicht zu verstauen - im stapelbaren Eimer!
✔️Leicht zu transportieren!
✔️5 Jahre Mindesthaltbarkeit
👉HIER👈
#Essen
🍞STABIL DURCH DIE KRISE🍞
Krisenvorsorge ist jetzt nötiger denn je
Auf dieser Liste finden sich zahlreiche Nahrungsmittel, die jahrelang haltbar sind (vieles davon Bundeswehrstandard):
Dosenbrot, Pumpernickel, Fertigmenüs wie Tortellini mit Hühnchen, Gemüse-Risotto, Veggie-Pfanne mit Nudeln, Kartoffelpüree mit Milch, Spaghetti Bolognese, Hühnchen mit Reis, Linsen-Eintopf, Jägertopf, Fettpulver, Vollei-Pulver, Schokolade u.v.m.
Erfahren sieHIER ✔️mehr
Kompletter Survival-Rucksack mit Regenponcho
👉HIER ✔️ 11% Rabatt ‼️
Nur noch wenige Stück auf Lager
🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤
Vorbereitet Sein⚠️
Mehr Hier ⬇️
https://t.me/seiVorbereitet
#Essen
Wo sind wir falsch abgebogen????
Bald in jeder Stadt...🤷😢
#Essen
TEILEN
Folgt mir auf Telegram
↕️↕️↕️
https://t.me/Kampf_fuer_unsere_Zukunft
Chat-Kanal
⬇️⬇️⬇️
https://t.me/IavYc2SRFdY1OGY6
Langzeitlebensmittel - 7 Tage Notration
Dieses Paket bietet Lebensmittel für eine Person für 7 Tage. Die Hauptmahlzeiten sind gefriergetrocknet im wiederverschließbaren Standbodenbeutel und unter Schutzatmosphäre verpackt. Oberstes Gebot ist dabei: Die Energie, die wir zu uns nehmen, soll so gut wie möglich schmecken!
✔️Gerichte einfach zubereiten - nur heißes Wasser hinzufügen!
✔️Leicht zu verstauen - im stapelbaren Eimer!
✔️Leicht zu transportieren!
✔️5 Jahre Mindesthaltbarkeit
👉HIER👈
#Essen
На танцевальном вечере выпускников
университета Folkwang-Hochschule
в городе Эссен
в котором я училась
на факультете современного танца почти 20 лет назад 🙈
❤️
Приятные воспоминания о студенчестве
#Essen#Germany
#Folkwanghochschule
#liubovbarykina
лето 2024
💕
Morinari Watanabe 🇯🇵 - the ninth President of the FIG
The 2025 FISU Summer World University Games Essen Germany 🇩🇪
С президентом международной
Федерации Гимнастики
Моринари Ватанабе 🇯🇵
На 32 летней Универсиаде
В Германии городе Эссене
#Essen
#Germany🇩🇪
#LiubovBarykina
#WorldUniversityGames
#MorinariWatanabe
Поздравляю великолепную
Белорусскую 🇧🇾 гимнастку
Алину Горносько
и ее великих тренеров
с ПОБЕДОЙ
На 32 летней универсиаде
В Германии городе Эссене 🇩🇪
Выступавшую в
Нейтральном статусе
https://www.instagram.com/belarus_gymnastics_association?igsh=MWtzbjgzZmhibXI2bg==
#WorldUniversityGames
#Germany
#Essen
#RhythmicGymnastics
#LiubovBarykina
#AlinaHornosko
Мне особенно приятно,
когда мои юные
ученицы-гимнастки
становятся взрослыми и
успешными, представляют
разные страны мира в спорте
и спустя годы говорят мне,
что они научились у меня выразительности,
артистизму,
эмоциональности
💃🏽💃🏽💃🏽
На видео лучшая
гимнастка Австрии
Валентина Доменик,
которая представляла
Австрию на 32 ой
летней Универсиаде в Эссене
Mir ist es besonders
angenehm, wenn meine kleinen Gymnastinnen-Schülerinnen
werden groß und erfolgreich und vertreten im Sport verschiedene
Länder der Welt.
Valentina Domenig ist beste
Österreichische Gymnastin,
die bei den World University
Games in Essen geturnt hat.
Sagte mir nach Jahren,
dass Sie Tanz,Ausdruck,
Artistik, von mir gelernt hat 😃
👍💃🏽❤️
Viele liebe Grüße an Lucia
und meine liebste Heide Bruneder, die 16 Jahre lang Präsidentin von der Europäischen Föderation der RSG war!
🌸🌸🌸
#ValentinaDomenig
#Austria🇦🇹
#WorldUniversityGames
#Germany🇩🇪
#Essen
#LiubovBarykina
#Choreographer
#Artist