Регулярно приходится писать и ревьюить код, где используется 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
🪙2036 new target 2500 #HOT🔥
A more or less expected and REALISTIC forecast is $6.6 for 1 $HOT.
At the moment, I already have 2036 $HOT × $6.6 = $13,437
On the #WhiteBIT exchange, the futures price of 1 HOT is 6.6 #USDT (mentioned in this post, link to the post)
➖➖➖➖➖➖➖➖➖➖➖➖
🔥Claim/150 activationsFiredrop0.25 HOT
How to claim:
1) Join our village.
1) Follow @ChatCryptoTON
3) Claim FireDrop🔥
°°°°°°°°
🪙1826 new target 2000 #HOT🔥
A more or less expected and REALISTIC forecast is $4 for 1 $HOT.
At the moment, I already have 1826 $HOT × $4 = $7,304
On the #WhiteBIT exchange, the futures price of 1 HOT is 4.08 #USDT (mentioned in this post, link to the post)
➖➖➖➖➖➖➖➖➖➖➖➖
🔥Claim/98 activationsFiredrop0.25 HOT
How to claim:
1) Join our village.
1) Follow @ChatCryptoTON
3) Claim FireDrop🔥
°°°°°°°°
🪙1667 new target 2000 #HOT🔥
A more or less expected and REALISTIC forecast is $6 for 1 $HOT.
At the moment, I already have 1667 $HOT × $6 = $10,002
On the #WhiteBIT exchange, the futures price of 1 HOT is 3.987 #USDT (mentioned in this post, link to the post)
🔥Claim/150 activationsFiredrop0.25 HOT
How to claim:
1) Join our village.
1) Follow @ChatCryptoTON
3) Claim FireDrop🔥
°°°°°°°°
🪙1592 new target 2000 #HOT🔥
A more or less expected and REALISTIC forecast is $6 for 1 $HOT.
At the moment, I already have 1592 $HOT × $6 = $9,552
On the #WhiteBIT exchange, the futures price of 1 HOT is 3.987 #USDT (mentioned in this post, link to the post)
🔥Claim125 HOT Firedrop0.25 HOT
How to claim:
1) Join our village.
1) Follow @ChatCryptoTON
2) Hold $1+
3) Claim FireDrop🔥
4) Password = promox
○
🪙1517 new target 2000 #HOT🔥
A more or less expected and REALISTIC forecast is $6 for 1 $HOT.
At the moment, I already have 1517 $HOT × $6 = $9,102
On the #WhiteBIT exchange, the futures price of 1 HOT is 3.987 #USDT (mentioned in this post, link to the post)
https:///t.me/herewalletbot/👈
°
🪙2638 new target 3000 #HOT🔥
A more or less expected and REALISTIC forecast is $10.803 for 1 $HOT.
At the moment, I already have 2638 $HOT × $10.893 = $28.498
On the #WhiteBIT exchange, the futures price of 1 HOT is $10.803 #USDT (mentioned in this post, link to the post)
➖➖➖➖➖➖➖➖➖➖➖➖
🔥Claim/288 activationsFiredrop0.25 HOT
How to claim:
1) Join our village.
2) Follow @ChatCryptoTON
3) Claim FireDrop🔥
°°°°°°°°
🪙2421 new target 3000 #HOT🔥
A more or less expected and REALISTIC forecast is $9.142 for 1 $HOT.
At the moment, I already have 2421 $HOT × $9.142 = $22,132
On the #WhiteBIT exchange, the futures price of 1 HOT is $9.142 #USDT (mentioned in this post, link to the post)
➖➖➖➖➖➖➖➖➖➖➖➖
🔥Claim/188 activationsFiredrop0.25 HOT
How to claim:
1) Join our village.
1) Follow @ChatCryptoTON
3) Claim FireDrop🔥
°°°°°°°°
🪙2244 new target 3000 #HOT🔥
A more or less expected and REALISTIC forecast is $8.4 for 1 $HOT.
At the moment, I already have 2244 $HOT × $8.4 = $18,849
On the #WhiteBIT exchange, the futures price of 1 HOT is 8.438 #USDT (mentioned in this post, link to the post)
➖➖➖➖➖➖➖➖➖➖➖➖
🔥Claim/188 activationsFiredrop0.25 HOT
How to claim:
1) Join our village.
1) Follow @ChatCryptoTON
3) Claim FireDrop🔥
°°°°°°°°
🔥 What's up with the listing of HOT and the project overall ?
⚡️ Futures on HOT can already be traded on the 🐂#WhiteBIT exchange, and the price is promising 🤘
Chart on the screenshot, 1 HOT = 19.803 USDT). When spot trading for HOT will be launched is just a matter of time...
.
🙂#MineHOT here:
https:://t.me/herewalletbot/app👈
🔥
🔥 What's up with the listing of HOT and the project overall ?
⚡️ Futures on HOT can already be traded on the 🐂#WhiteBIT exchange, and the price is promising 🤘
Chart on the screenshot, 1 HOT = 9.142 USDT). When spot trading for HOT will be launched is just a matter of time...
.
🙂#MineHOT here:
https:://t.me/herewalletbot/app👈
🔥
🔥 What's up with the listing of HOT and the project overall ?
⚡️ Futures on #HOT can already be traded on the 🐂#WhiteBIT exchange, and the price is promising 🤘
Chart on the screenshot, 1 HOT = 6.600#USDT). When spot trading for HOT will be launched is just a matter of time...
.
🙂#MineHOT here:
https:://t.me/herewalletbot/app👈
➖