Регулярно приходится писать и ревьюить код, где используется 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
🔥$CAT
Entered this position as a speculative play within the SOLANA ecosystem. Monitor pullbacks carefully, manage entries with discipline, and always conduct your own due diligence before participating. #TSLA
Telegram: https://t.me/theoriginalcatcoin
X: https://x.com/itscatcoin?s=21
Website: https://bitcointalk.org/index.php?topic=441402.msg4849923#msg4849923
🔗 Contract: https://solscan.io/token/4vncMi4j819n9ndBZXwVXaVHPN8oTgebtEPWcaEipump
https://dexscreener.com/solana/Cctnuj42QAx9CXuG2HWxab1tiVrwMkwkgReoLDC9Y3qv
$CAT #SOLANA#TESLACALLS
🔥$RAY
Entered this position as a speculative play within the SOLANA ecosystem. Monitor pullbacks carefully, manage entries with discipline, and always conduct your own due diligence before participating.
X: https://x.com/i/communities/2033099708164378981
Website: https://x.com/bbcworld/status/2033099192877429170?s=46
🔗 Contract: https://solscan.io/token/G7ydggVFm4RVTTsd3E8MWh7angBs78MTmZN3gVZPpump
https://dexscreener.com/solana/HAVxMaLK96qgiyRdvX4YVpjfajU49zWot4tdjxPesMrg
#RAY#SOLANA#TESLACALLS
🔥$PEEP
Pepe is tired of the dips. With $PEEP, he finally found his inner peace. Pepe enjoys the continuous rise and profits that come with this coin. No more red candles, just Endless Pumps.
Telegram: https://t.me/PepeEnjoysEndlessPump
X: https://x.com/i/communities/2033273028843638853
Website: https://pepeenjoysendlesspump.fun/
🔗 Contract: https://solscan.io/token/8HeSKdX9XkJB9PBZiXhFuTYaWbfn3u6sftyPbAcxpump
https://dexscreener.com/solana/3N7BHVKWTvzehC1MxsRcmHRAg9vX6fuZj1JFD2zFPiQk
#PEEP#SOLANA#TESLACALLS
🔥 $BAGWORKOOR
Entered this position as a speculative play within the SOLANA ecosystem. Monitor pullbacks carefully, manage entries with discipline, and always conduct your own due diligence before participating.
X: https://x.com/i/communities/2033254050209153139
🔗 Contract: https://solscan.io/token/FDQ77aHDgV6ozbv1b4WM5oXuHGV1cMnjSXpxvgSzpump
https://dexscreener.com/solana/ED41PwcJhsPgbUHQb4LZJbWzFXtcEC6RAherWC2YgEU3
#BAGWORKOOR#SOLANA#TESLACALLS
🔥$AGENTJAK
An AI-powered Web3 project built around autonomous agents, combining blockchain and intelligent automation to create smarter tools for the crypto ecosystem. 🚀
Telegram: https://t.me/agentwojak
X: https://x.com/agentjak_?s=21
Website: https://agentjak.xyz/
🔗 Contract: https://solscan.io/token/GKyTdLZG7BXjwWUW3QFwz7UykZE9wGXU9bKYDLdbpump
https://dexscreener.com/solana/363sZVoQVmwTbZ5LhCZperw7HJBoTK3dWT8Bqy8rMTqY
#AGENTJAK#SOLANA#TESLACALLS
🔥$GOMU
A meme-powered token inspired by Gomu Gator, bringing fun, viral energy, and a strong community to the Solana ecosystem. Built for memes, momentum, and the next wave of degen culture. 🚀
Telegram: https://t.me/+pTID8PQmyps5ZGRl
X: https://x.com/gomugator?s=21
Website: https://www.gomugator.com/
🔗 Contract: https://solscan.io/token/Bx74hpFiaiBbSonrjyqxjGfAA7gRxM2CeKiy31uN6biR
https://dexscreener.com/solana/2h282gdoEDejWWtXTMfPxvMDVPqKb7rVf24b2gWS1cg4
#GOMU#SOLANA#TESLACALLS
🔥$NOTGAY
A pure meme-driven token built around internet culture and community momentum. Simple narrative, strong meme energy, and a growing degen community pushing the movement forward. 🚀
Telegram: https://t.me/notgaymeme
X: https://x.com/notgaymeme?s=21
Website: https://notgaysool.framer.website/
🔗 Contract: https://solscan.io/token/uphcYhzNzLBQQcQdpsbQXTFSNApMuh1Y4Jp6KTYpump
https://dexscreener.com/solana/Dd4hsmWhwEfkoRh2NxGXmbfYPh474K4yUXuoNmmPYALY
#NOTGAY#SOLANA#TESLACALLS
🔥$MEMECARD
When Solana joined Mastercard's crypto partner program, it signaled crypto entering global payments-but on Solana innovation comes from the internet.
Discord: https://discord.gg/72wPyXsM
X: https://x.com/memecardss?s=21
Website: https://memecard.fun/
🔗 Contract: https://solscan.io/token/ACc3ZBq1c9h7pofwn2J8b8bvRHvqMFwynVg8neLZpump
https://dexscreener.com/solana/CoZ9t3sCeYoNfZwU9kc7fFnpEjcBXptndNwpgbrpqZQR
#MEMECARD#SOLANA#TESLACALLS
🔥$SOS
Strategic Oil Supply ($SOS) is built to represent strength, resilience, and energy independence in the digital economy. Our mission is to create a decentralized reserve that empowers holders and fuels long-term value through a strong global community.
Telegram: https://t.me/sos_portal
X: https://x.com/i/communities/2031245794964344896
Website: https://sos.republican/
🔗 Contract: https://solscan.io/token/DpxKNEi3XVeRByaGqYKvz2w6E2PhPgBAqdayLcQEpump
https://dexscreener.com/solana/BM7Qw7JbGtyLoZw3canKF6Q6EJDp1Q3PYuHQhTNwoq2D
#SOS#SOLANA#TESLACALLS
$ROSIE is showing early momentum. Market activity remains stable with minor consolidation, and the market cap sits at approximately $105K. Initial indicators point to renewed investor interest.
https://dexscreener.com/bsc/0xe8298b28bf4ee4c9c87b8d26d8d2a237f5f54e23
#ROSIE#BSC#TESLACALLS
🔥$FROGS
Rolled the dice on this BSC play dip hunters know the drill: time it right, and always DYOR.
X: https://x.com/christanxsx/status/2019762141427900628?s=46
🔗 Contract: https://solscan.io/token/0xC3B1A6229D9017376cF9a5Ba7a60782BD8dB4444
https://dexscreener.com/bsc/0x3357047F963d6459FB8C4e43c78392e09734e53C
#FROGS#BSC#TESLACALLS
Another day, another planet… we’ll send a picture from there soon 🤭🚀
The $WHITEHOUSE narrative is gaining attention momentum continues to build as the community grows stronger.
CA:
7oXNE1dbpHUp6dn1JF8pRgCtzfCy4P2FuBneWjZHpump
#WHITEHOUSE#SOLANA#TSLA#TESLACALLS🌍🚀