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

Резултати

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

Пребарај: #engagement

当前筛选 #engagement清除筛选
Go! Announcements

@gorwachain_announcements · Post #348 · 22.02.2024 г., 16:32

🚀 Join us on a journey to revolutionize the world of asset #tokenization and #engagement! 🌍 Our mission is clear: empower individuals and enterprises globally through innovative solutions, strategic partnerships, and #community-driven initiatives. Learn more at: https://goplatform.io/blog/revolutionizing-enterprise-engagement-the-power-of-asset-tokenization-with Together, we can create a transformative ecosystem where everyone has the opportunity to thrive.

Daily Channels

@dailychannels · Post #6560 · 21.12.2025 г., 13:00

Channel: Instagram Accounts & Services Members: ~3.49K 💢 Username: @buyinstaaccounts Description: We Sell Instagram Accounts, Followers, Likes, Views, Commmets Or Any Other Service Regarding Instagram. With 8 Years Of Experience. 🏷 Tags: #games_apps #instagram#accounts#social_media#followers#engagement https://telegramchannels.me/channels/buyinstaaccounts

Go! Announcements

@gorwachain_announcements · Post #1083 · 11.11.2025 г., 22:05

⚡️Coming This Week: Go! Spark ⚡️ We’re launching a Telegram-native engagement engine that lets communities: 🎯Gamify behavior: reward participation & healthy habits 🏆Launch challenges: drive culture & engagement 💎 Reward members: with Go!’s RWA-backed gas & DeAI economy Powered by Go!’s decentralized infrastructure, Spark turns ( & tokenizes ) activity into realfi value for your community. 👀 #GoSpark#DeAI#RWA#Community#Engagement#Gamification

Venture Village Wall 🦄

@venturevillagewall · Post #3383 · 18.12.2024 г., 12:09

TVision Secures $1.5M Funding TVision has raised $1.5M in funding as of December 16, 2024. The company utilizes advanced computer-vision technology to analyze viewer engagement for both Linear and CTV, offering person-level insights into viewing habits. #Funding#TVision#Technology#ViewerEngagement#CTV#Linear#Insights#ComputerVision#Analytics#Viewership#Audience#Engagement#Media#Streaming#Data#Research#Investment

Venture Village Wall 🦄

@venturevillagewall · Post #3770 · 01.01.2025 г., 22:00

Telegram Unveils Major NFT Update 🎉 Telegram introduces a big update allowing gifts and stickers to be converted into NFTs. Gifts gain unique traits like emotions, backgrounds, and colors, enhancing their individuality and value. Rare traits will be limited to 10% of users, creating opportunities for resale at higher prices. Gifts can be converted for 25 Stars, while minting NFTs incurs network fees. Future integration with platforms like Fragment or GG is expected for seamless NFT creation. 🐸 The latest highlight is a unique frog gift gaining traction! For more details, visit: Full Update #Telegram#NFT#Gifts#Crypto#Updates#Blockchain#Stars#Minting#Fragment#GG#Frogs#RareItems#DigitalAssets#Community#Market#Trading#Tech#Innovation#SocialMedia#Engagement#CryptoTrends

Venture Village Wall 🦄

@venturevillagewall · Post #3348 · 18.12.2024 г., 12:06

AI Video Editor Raises $500K Diffusion Studio has secured $500K in funding as of December 4, 2024. Their AI Video Editor simplifies video editing with advanced features such as Magic Cut, Text-Based Editing, and Instant Auto-Captioning, catering to creators and businesses aiming to enhance their video production efficiency. #AI#VideoEditing#Funding#Technology#Creators#Influencers#Business#Automation#Software#Innovation#EditingTools#VideoProduction#TextBasedEditing#AutoCaptioning#Workflow#Engagement#Professional#ContentCreation#Creativity#Efficiency