Установить свойства виджета в PySide можно не только через соответствующие методы и конструктор класса. Можно их изменять с помощью метода setProperty по имени.
btn = QPushButton("Click Me")
btn.setProperty("flat", True)
Это аналогично вызову
btn.setFlat(True)
Если указать несуществующее свойство, то оно просто создается
btn.setProperty("btnType", "super")
Получить его значение можно методом .property(name)
btn_type = btn.property("btnType")
Когда это может быть полезно?
▫️Можно просто хранить какие то данные в виджете и потом их доставать обратно
widget = QWidget()
widget.setProperty('my_data', 123)
print(widget.property('my_data'))
▫️ Назначая эти свойства разным виджетам можно потом отличить виджеты во время итераци по ним. Например, найти все кнопки со свойством my_data="superbtn".
Но ведь вместо кастомного свойства можно использовать objectName, будет тот же результат.
Да, но y ObjectName есть ограничение - только строки.
▫️ Если нам потребуется не просто поиск а, например, сортировка по числу, то свойства позволяют нам это сделать. Поддерживается любой тип данных
widget.setProperty('my_data', {'Key': 'value'})
widget.setProperty('order', 1)
all_widgets.sort(key=w: w.property('order'))
Но ведь Python позволяет всё вышеперечисленное сделать простым созданием атрибута у объекта
widget.order = 1
widget.my_data = 123
Да, но я думаю что не надо объяснять почему не стоит так делать. К тому же, если у виджета нет свойства то метод .property(name) вернет None, а отсутствующий атрибут выбросит исключение.
▫️ Действительно полезное применение кастомным свойствам - контроль стилей. Здесь атрибутами не обойтись, нужны именно свойства.
Дело в том, что в селекторах стилей можно указывать конкретные свойства виджетов на которые следует назначать стиль.
Просто запустите этот код
from PySide2.QtWidgets import *
if __name__ == "__main__":
app = QApplication([])
widget = QWidget(minimumWidth=300)
layout = QVBoxLayout(widget)
btn1 = QPushButton("Action 1")
btn2 = QPushButton("Action 2")
btn3 = QPushButton("Action 3", flat=True)
layout.addWidget(btn1)
layout.addWidget(btn2)
layout.addWidget(btn3)
# добавим кастомное свойство одной кнопке
btn1.setProperty("btnType", "super")
# добавляем стили
widget.setStyleSheet(
"""
QPushButton[btnType="super"] {
background-color: yellow;
color: red;
}
QPushButton[flat="true"] {
color: yellow;
}
"""
)
widget.show()
app.exec_()
С помощью селектора мы избирательно назначили стили на конкретные кнопки.
Как получить список всех кастомный свойств?
Функция получения списка кастомных свойств отличается от получения дефолтных.
def print_widget_dyn_properties(widget):
for prop_name in widget.dynamicPropertyNames():
property_name = prop_name.data().decode()
property_value = widget.property(property_name)
print(f"{property_name}: {property_value}")
#tricks#qt
🤎Фаердроп - делимся токенами $HOT! Спешим наверстать - фаердропы станут чаще)
Как думаете - может хотя-бы на этой бычке уже залистят хоты?))
Пароль как обычно - прямо на картинке)
➡️Ссылка на фаердроп
➡️Наш город в HOT Wallet
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#HOTWallet
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | SCAM
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی
🤎Фаердроп - настала пора поделиться токенами $HOT!
Пароль как обычно - прямо на картинке)
➡️Ссылка на фаердроп
➡️Наш город в HOT Wallet
🥇 А не так давно команда кошелька анонсировала маркет по торговле аккаунтами - Wallet Market. Уже видели где-то такое решение?
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#HOTWallet
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | SCAM
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی
🤎Фаердроп - дроп, который мы делаем для наших подписчиков регулярно!
Пароль как обычно - прямо на картинке)
На днях, кстати, появились новые возможности! Теперь фаердроп можно клеймить где угодно - в миниапке прямо в телеге, в приложении на телефоне и даже через браузерное расширение на компьютере!
➡️Ссылка на фаердроп в телеграмме
➡️Ссылка на фаердроп в браузере
➡️Наш город в HOT Wallet
🫡 В этой раздаче фаердропа попутно предлагаем познакомиться с новым приложением от Тайлера - MRKT
❓ Как думаете, взлетит там торговля подарками?)
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#HOTWallet
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | SCAM
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی
🫡Hot Wallet отчитались о своих успехах и проделанной работе за апрель:
📱📱Мобильное приложение
HOT Wallet теперь доступен на Android и iOS! С этого момента все мультичейн-активности будут перенесены из Telegram на мобильные платформы и в браузерное расширение.
🔥HOT Omni V2
Большое техническое обновление, повысившее безопасность HOT Bridge и добавившее совместимость с NEAR Intents — важный шаг вперед.
🪙NFTs Обновления
Переработан раздел NFT в HOT Wallet — добавлены новые сети, улучшена фильтрация спама и появилась возможность скрывать коллекции.
🪙Обновление EARN раздела
EARN секция была полностью переработана: добавлены графики APY, поддержка большего количества токенов и сетей, подробная информация о протоколах, Certik score. Также интегрирован AAVE Protocol.
➡Stellar Bridge миссия
Первая миссия на Stellar, привлекшая значительное количество пользователей на Stellar через HOT Bridge.
🛒🌐Отображение бирж при трансферах
Трансферы стали безопаснее: теперь при отправке с EVM-сетей и Stellar пользователи видят название биржи, на которую идет трансфер.
🇹🇷Поддержка турецкого языка
Добавлена поддержка турецкого и уже ведётся работа над добавлением новых языков.
И это перечислены только ключевые обновления за всего-лишь месяц! Команда продолжает работать, готовя больше активностей для всех нас ❤
➡️Оценить кошелёк лично
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#HOTWallet
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | UNI | SCAM
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS| MRKT
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی
🤎Фаердроп - дроп, который мы делаем для наших подписчиков регулярно!
Пароль как обычно - прямо на картинке)
➡️Фаердроп для жителей нашего поселения
➡️Наш город в HOT Wallet
🫡 В этой раздаче фаердропа попутно предлагаем полюбоваться нашей шестой галактикой в Tiny Verse)
⚡ А также напоминаем, что до конца недели можно успеть выполнить "самую важную" миссию в Hot Wallet - для этого достаточно установить браузерное расширение кошелька и разом заработать до 17 $HOT!! Все подробности в разделе "миссии"
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#HOTWallet
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | SCAM
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی
🔥В HOT Wallet обновился раздел EARN
И вот, что в нём появилось:
➡Новый дизайн и улучшенная навигация
➡Больше токенов для стейкинга и лендинга
➡Добавление новых блокчейнов
➡Интеграция AAVE
➡график APY, чтобы можно было отслеживать проценты на дистанции
➡Информация о протоколе и CertiK Score
➡Раздел FAQ для каждого протокола
Также в ближайшее время команда проекта планирует добавить:
➡️ Интеграцию новых протоколов
➡️ Графики APY для всех протоколов
➡️ Отображение аудитов
➡️ Стейкинг из других сетей в один клик (без необходимости использования моста)
❤️HOT Wallet неизменно радует обновлениями) Только разродились бы уже листингом токена)) Много у вас уже намайнено $HOT?
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#HOTWallet
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | UNI
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی
🪙 В HOT Wallet доступна новая миссия: Мост Stellar! 🪙
🤩 Как выполнить миссию:
➡️Откройте раздел Bridge (Мост) в HOT Wallet
➡️Переведите с помощью моста 1 USDC из любой сети на сеть Stellar
➡️Заклеймите призовые 2 HOT в разделе миссий!
⚡ HOT Bridge не имеет комиссий, а регистрация Stellar-аккаунта проходит бесшовно и бесплатно для всех пользователей HOT Wallet!
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#HOTWallet
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | UNI
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی
🫨HOT Wallet выпустил новый ежемесячный отчёт о своих успехах и вот чем проект может похвастаться за март 2025 года:
🌐HOT Wallet Расширение
HOT Wallet теперьдоступен в браузере. Первые миссии по нему появятся уже совсем скоро. А пока пользователи могут исследовать Web3, подключаясь к любым приложениям через HOT Wallet.
🚀Интеграция gas.zip
Больше не нужно думать, где взять нативные токены для газа. Пользователи HOT Wallet могут пользоваться Gas Refuel на 120+ блокчейнах
🔥Firedrops Board
Единое место, где появляются все фаердропы, отвечающие определённым критериям.
➡Stellar Bridge & WalletConnect
Добавлена поддержка Stellar в HOT Bridge! Теперь пользователи могут бесплатно переводить USDC из всех доступных на мосту сетей на Stellar. Также добавлена поддержку Stellar Connect через HOT Wallet. Цель HOT Wallet – стать главным кошельком для Stellar.
👀Поддержка KAVA
HOT Wallet теперь полностью поддерживает блокчейн KAVA, включая мосты, свопы и Gas Refuel.
🪙Миссия с HARD.FUN
Проведена совместная миссия с HARD.FUN на KAVA, в рамках которой было роздано более $100,000 в качестве наград.
⚙Кастомные RPC
С запуском расширения у продвинутых пользователей появилась потребность в дополнительных функциях. Теперь можно добавлять кастомные RPC в HOT Wallet. Вскоре появится еще больше функций для про-юзеров!
❤HOT Wallet готовит еще больше обновлений, миссий и крутых фич. Следите за новостями!
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#HOTWallet
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | UNI
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی
🔥HOT Wallet захватывает WEB-пространство через своё свеже-реализованное расширение для браузеров и запускает мобильную версию.
❤️ При всём при этом не забывает о своей миссии — обучить и заонбордить пользователей в Web3, DeFi
Теперь в приложении создаётся система подсказок, как в видео в посте, чтобы упростить вход в крипту для новичков.
👍HOT Wallet - кошелёк, который заботится о своих пользователях)
#HOTWallet
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | UNI
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی
🤎Фаердроп - дроп, который мы делаем для наших подписчиков регулярно!
Пароль как обычно - прямо на картинке)
➡️Фаердроп для жителей нашего поселения
➡️Наш город в HOT Wallet
🫡 В этой раздаче фаердропа попутно предлагаем обратить внимание на проект Sleepagotchi, о котором мы уже не раз рассказывали)
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#HOTWallet
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | UNI
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی
🤎Фаердроп - дроп, который мы делаем для наших подписчиков регулярно! И на этот раз фаердропа будет два - один для всех, а один только для жителей нашей деревни.
Пароль как обычно - прямо на картинке)
➡️Фаердроп для всех
➡️Фаердроп для жителей нашего поселения
➡️Наш город в HOT Wallet
🫡 В этой раздаче фаердропов, попутно предлагаем ознакомиться с проектом EVA, а почему он интересен - мы начали рассказывать вот тут)
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#HOTWallet
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | UNI
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی
🤎Фаердроп - дроп, который мы делаем для наших подписчиков регулярно!
Пароль как обычно - прямо на картинке)
➡️Фаердроп 0,25 $HOT
➡️Наш город в HOT Wallet
😆 В этой раздаче фаердропа, попутно предлагаем ознакомиться с проектом TON Combat и его оригинальной игровой механикой)
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#HOTWallet
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | UNI
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی