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

Резултати

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

Пребарај: #nodepay

当前筛选 #nodepay清除筛选
Airdrop Gold : Crypto Airdrop

@airdropgoldchannel · Post #157512 · 09.09.2024 г., 18:31

⭐️#Nodepay Airdrop: Learn To ai And Earn #Airdrop 1. Register At NodePay 2. download the chrome extension in. pc/android (kiwi/mises browser) 3. login with your account 4. Browse Internet to earn 5.Enjoy @AirdropGoldChannel

Crypto Profits Hub

@Futurentry · Post #4205 · 26.12.2024 г., 18:40

NodePay Airdrop Listing Date: Latest 2024 Release Details Discover when NodePay airdrop listing date will be announced and stay updated on this promising DeFi project's token distribution and exchange availability in 2024 Contact admin if you have any questions : @Riley_Fe #airdrops#bitcoin#blockchain#crypto#Nodepay#technology

Crypto Profits Hub

@Futurentry · Post #4180 · 24.12.2024 г., 16:40

When Will New Nodepay Listing Date Be Announced? Discover when Nodepay listing date will be announced and learn about this innovative payment platform's journey toward public trading. Stay updated on market entrance details Contact admin if you have any questions : @Riley_Fe #airdrops#bitcoin#blockchain#crypto#Nodepay#technology

Crypto Profits Hub

@Futurentry · Post #4164 · 23.12.2024 г., 08:46

NodePay Airdrop Date: New Token Distribution Info Stay informed about the nodepay airdrop date and distribution schedule. Get essential details on eligibility criteria, token allocation, and how to participate in this upcoming crypto event Contact admin if you have any questions : @Riley_Fe #airdrops#bitcoin#blockchain#crypto#Nodepay#technology

Crypto Profits Hub

@Futurentry · Post #4129 · 20.12.2024 г., 10:43

NodePay Airdrop: Claim Free Crypto Rewards Now Join the NodePay airdrop and earn free crypto rewards by participating in simple tasks. Get your share of tokens by completing social media activities and community engagement Contact admin if you have any questions : @Riley_Fe #airdrops#bitcoin#blockchain#crypto#Nodepay#technology

Crypto Profits Hub

@Futurentry · Post #4193 · 25.12.2024 г., 18:45

NodePay Airdrop Listing Date: New Upcoming 2024 Stay updated on the nodepay airdrop listing date and upcoming schedule for 2024. Get ready to participate in this highly anticipated token distribution event and secure your rewards Contact admin if you have any questions : @Riley_Fe #airdrops#blockchain#crypto#defi#Nodepay#technology

Venture Village Wall 🦄

@venturevillagewall · Post #3731 · 27.12.2024 г., 19:00

AI Startups Secure Major Funding Deals 🚀 1. Inferix: Decentralized GPU network raising $2.60M led by DePIN X. 2. PoSciDonDAO: Receives undisclosed funding from BoostVC for personalized medicine. 3. Skynet: Autonomous AI agent protocol secures $1.20M in Pre-seed funding. 4. Nodepay: AI training decentralized network raises $7M, led by IDG Capital and MVP. 5. The Grid: Web3 metadata directory collects $624K in Angel funding. For more on the funding rounds: source #AI#Funding#Inferix#PoSciDonDAO#Skynet#Nodepay#TheGrid#DeFi#Crypto#VC

Airdrop Center

@centralchanel · Post #15821 · 04.01.2025 г., 20:20

January Listing 🔥 ✅#Nodepay: 6 January ✅#MomoAi: 6 January ✅#Xterio: 8 January ✅#Sidekick : 8 January ✅ $Vertus :13 January ✅#Seed : 15 January ✅#Xcoin : 20 January ✅#Tapswap : 23 January ✅#Wcoin : 25 January ✅#CommunityGaming : 28 January Unofficial Listing ✅#PAWS ✅#UXUY ✅#Yuligo ✅#MemeWar ✅#DuckChain ✅#Celia Stay connected