TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #381 · 23 окт.

Установить свойства виджета в 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

Hashtags

Резултати

Пронајдени 5 слични објави

Пребарај: #taiko

当前筛选 #taiko清除筛选
시팡이 공부방~~❤️

@sipangE · Post #18499 · 20.05.2025 г., 09:02

🔔 Taiko, 내일 Pacaya 하드포크 예정 ➡️ 주요 내용 - 지난 몇 달간 엄격한 테스트와 버그 수정 완료 - Multiproving을 포함한 Pacaya 포크 - 1,166,000 블록에서 발생 [2025.5.21 예상] -베이스드 사전확정 기능 도입 ➡️ 거래소 입출금 정지 일정 - 업비트 : 2025.5.20 18:00 ~ - 빗썸 공지는 아직 나오지 않음 *자세한 내용은 아래 원문을 확인하시길 바랍니다 ✅원문 ✅홈페이지✖️트위터🎮디스코드 #Taiko

Hashtags

Nomis | Onchain Reputation Protocol

@nomis_protocol · Post #596 · 06.01.2025 г., 15:56

Taiko fam, it’s time to step up! 🫵 Prove you’re more than just a wallet address: - Head over to our new quest on DeBank - Get your brand-new Taiko Reputation Score - Receive 100 DeBank XP 🧪 Start here —-> 🔗Get Here Prove your contribution to #Taiko! 💠Nomis tApp | X | Discord | YouTube | Check Scores⚖️

Hashtags

TokenPocket

@tokenpocket_channel · Post #1160 · 29.01.2024 г., 06:21

🔴TokenPocket now supports ​taikoxyz testnet! You can easily custom add #Taiko Testnet to your wallet in just 3 simple steps! Guide👉https://help.tokenpocket.pro/en/wallet-operation/how-to-create-a-wallet/taiko (Both mobile wallet and chrome extension wallet) ✅#Taiko is a fully open source, permissionless, #Ethereum-equivalent ZK-Rollup. 👉https://www.tokenpocket.pro/ 👉https://extension.tokenpocket.pro/#/ 【Details】https://twitter.com/TokenPocket_TP/status/1751852357602910369 【Powered By】Crypto Box

TokenPocket

@tokenpocket_channel · Post #1176 · 02.02.2024 г., 07:37

👓 Let's meet #Taiko🥁! ​taikoxyz ✅#Taiko is a fully open source, permissionless, #Ethereum-equivalent ZK-Rollup. Get started with #Taiko's BCR: Taiko's Based Contestable Rollup Quiz & Ecosystem Showcase and Discover it with your #TokenPocket! 👉https://galxe.com/taiko/campaign/GCSaRtw63M Collect points and enjoy the journey! 💙🩷 【Details】https://twitter.com/TokenPocket_TP/status/1753320975658324290 【Powered By】Crypto Box

Tibicen

@world_music_geek · Post #943 · 05.05.2025 г., 15:03

Ensemble Kineya — Japon: Nagauta (Ocora, 2000) #traditional#nagauta#shamisen#taiko#Japan Japon: Nagauta — альбом ансамбля Kineya, посвящённый вокальному стилю нагаута (長唄), название которого буквально переводится как «длинная песня». Этот жанр возник в XVII веке и с тех пор тесно связан с театром кабуки. Нагаута сформировался в Эдо, нынешнем Токио, когда музыканты начали исполнять драматические тексты под акомпанемент сямисэна — трёхструнного щипкового инструмента, пришедшего в Японию из Китая через острова Рюкю. Позже к сямисэну добавились ударные и флейты, и сформировался устойчивый ансамбль, ставший частью сценической традиции. В записи представлены композиции в форме, характерной для этого жанра. 🔗Spotify | YouTube | Telegram