Регулярно приходится писать и ревьюить код, где используется 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
🐶Lost Dogs:The Way👣
Today we need to choose the “average” card. Will Rex go on the expedition?
1. Expedition is On🧗♂️
2. Expedition is Off🚫
3. He Went Alone🌲
I think He Went Alone🌲 will be the average choice.
👉Let’s join the next battle!
Share your thoughts in the comments!
➖
📣Stay tuned! Subscribe!
➖
#lostdogs#crypto#cryptogame
🐶Lost Dogs: The Way 👣
Today we need to choose the “average” card. How will the dogs deal with the infected?
1. Quarantine 🧪
2. Do Nothing 🛑
3. Kill the Infected ⚔️
I think Quarantine 🧪will be the average choice.
👉Let’s join the next battle!
Share your thoughts in the comments!
➖
📣Stay tuned! Subscribe!
➖
#lostdogs#crypto#cryptogame
➖
🐶Lost Dogs:The Way -
🏆Last Round’s Winner: Survival Kit🧰
📝New Challenge: What will the Cat do next?
(Find the unpopular card)
1. To Wash 🧼
2. Track Down Gavkus 🐾
3. Summon Darkness 🌑
🔍 Analyze carefully before making your choice!
🔔Subscribe👉Join Lost Dogs
—————————————————
#lostdogs#crypto#dogs
🐶Lost Dogsis officially out!
This is not just another slipper. This is a community driven story where you can mine the new $WOOF token.
The season will last only 6 weeks!
🤪Join our clan, as usual we will try to rise to the top and earn more $NOT
The team has released a useful guide, thanks to which you can understand the game and its interesting plot, which you control yourself!
Play here @lost_dogs_bot
#Notcoin#GameFi#LostDogs#TON#NOT
🐶Lost Dogs:The Way -
🏆Last Round’s Winner: Fireworks🎆
📝New Challenge:
Which tactic to choose? (Find an average card)
1. Surround 🌀
2. Frontal Attack 🚀
3. Fake Retreat 🎭
🔍Analyze carefully before making your choice!
🔔Subscribe👉Join Lost Dogs
—————————————————
#lostdogs#crypto#dogs
#cryptogame#nftgaming
🐶Lost Dogs:The Way -
🏆 Last Round’s Winner: Decryption Machine
📜New Challenge:
How to handle the new information? (Find the average card)
1. Tell Everyone 📢
2. Hide the Truth 🔥
3. Defuse 🛡️
🔍Analyze carefully before making your choice!
🔔Subscribe👉Join Lost Dogs
—————————————————
#lostdogs#crypto#dogs
#cryptogame#nftgaming
🐶Lost Dogs:The Way -
🥇 Last Round’s Winner:
The winning card in the last game was Go Underground🌿
🚀New Challenge:
What truth will the Resistance reveal? (Find the average card)
1. Greed of the Cult 🪙
2. About Religious Lies 📖
3. How to Resist 🛠
🔍Analyze carefully before making your choice!
🔔Subscribe👉Join Lost Dogs
—————————————————
#lostdogs#crypto#dogs
#cryptogame#nftgaming
🐶Lost Dogs:The Way -
🥇 Last Round’s Winner:
The winning card in the last game was Kidnap🐾
🚀New Challenge:
How can Resistance continue the fight? (Find the unpopular card)
1. Invite Newcomers 👥
2. Go Underground 🌿
3. Pirate Radio 🎙
🔍Analyze carefully before making your choice!
🔔Subscribe👉Join Lost Dogs
—————————————————
#lostdogs#crypto#dogs
#cryptogame#nftgaming
🐶Lost Dogs:The Way -
🏆 Last Round’s Winner: The winning card in the last game was Fend Off in Battle! 🛡️
🚀New Challenge:
How should the Resistance Dogs handle the newly born mutant messiah? (Find the average card) 👣
1. Kidnap 🐾
2. Kill ⚔️
3. Unveil the Origin 🔍
Analyze carefully before making your choice!🧐
🔔Subscribe👉Join Lost Dogs
—————————————————
#lostdogs#crypto#dogs
#cryptogame#nftgaming
🐶Lost Dogs:The Way -
🏆 Last Round’s Winner: The winning card in the last game was Wisdom! 👣
🚀New Challenge:
How will they rescue Genghis Gaf, and will they?
1. Fend Off in Battle🔥
2. Stay Low 🏠
3. Rescue Secretly 🤘
Analyze carefully before making your choice!
🔔Subscribe👉Join Lost Dogs
—————————————————
#lostdogs#crypto#dogs
#cryptogame#nftgaming
🐶🐶Lost Dogs: The Way - 🏆Last Round’s Winner: The winning card in the last game was Fight Back!👣
🚀New Challenge:
What are the dogs expecting from their beloved wizard's performance?
1. Underground Firework 🎆
2. New Day 🌅
3. Existence’s Purpose 🔮
Analyze carefully before making your choice!
🔔Subscribe👉Join Lost Dogs
—————————————————
#lostdogs#crypto#dogs
#cryptogame#nftgaming
🐶Lost Dogs: The Way -
🏆Last Round’s Winner: The winning card in the last game was Secret Comlink! 👣
🚀New Challenge:
What should the dogs do during the raid?
1. Fight Back🥊
2.Run Away🏃♂️
3.Negotiate🤝
Analyze carefully before making your choice!
🔔Subscribe👉Join Lost Dogs
—————————————————
#lostdogs#crypto#dogs
#cryptogame#nftgaming