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

Резултати

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

Пребарај: #techupdates

当前筛选 #techupdates清除筛选
AI & Law

@ai_and_law · Post #99 · 30.08.2023 г., 07:04

Zoom Addresses EU Privacy Concerns and Updates Terms of Service Greetings! In response to discussions about potential EU privacy law implications, Zoom issues a statement and revises its Terms of Service. The focus? Ensuring customer data isn't utilized to train AI models. Zoom's statement and Terms affirm that user-generated content, including audio, video, chat, and more, isn't employed for training Zoom's or any third-party AI models. This step aims to dispel any concerns. Zoom initially shared its statement on August 7 and later updated it on August 11, aligned with the revised Terms. The shared stance now unequivocally states, "Zoom does not use any of your customer content to train AI models." Earlier, a Stack Diary article flagged changes to Zoom's March Terms, raising potential concerns about broad data utilization for AI model training. Zoom's quick response aims to address these concerns and reaffirm privacy commitments. #Zoom#PrivacyMatters#TermsOfService#AIModels#DataProtection#PrivacyLaw#TechUpdates

Crypto M - Crypto News

@CryptoM · Post #64553 · 09.04.2026 г., 07:40

🚀 AI TRENDS | Meta Updates Instagram AI Experience for Teens Meta Platforms has announced an update to the AI experience on Instagram, specifically targeting teenage users. According to Jin10, the update draws inspiration from movie ratings designed for audiences aged 13 and above. This means the AI is programmed to avoid providing responses that are inappropriate for the age group. #AI#Meta#Instagram#TeenUsers#AIEthics#TeenSafety#SocialMedia#TechUpdates

Venture Village Wall 🦄

@venturevillagewall · Post #4192 · 19.02.2025 г., 16:00

Hong Kong Targets Global Virtual Asset Hub Hong Kong unveils new roadmap to become a global virtual asset center, focusing on staking services, attracting liquidity, and exploring derivatives trading. Further endeavors include OTC and custody licensing. For details, visit Wu Blockchain News. #HongKong#VirtualAssets#Crypto#DeFi#Liquidity#Licensing#Staking#Derivatives#OTC#Custody#Regulation#Finance#Investment#Blockchain#Web3#MarketTrends#TechUpdates#Innovation#GlobalMarkets#FutureOfFinance

Venture Village Wall 🦄

@venturevillagewall · Post #3606 · 20.12.2024 г., 18:41

O3 and O3-Mini Benchmark Breakthroughs The O3 and O3-Mini models showcase state-of-the-art (SOTA) performance with significant leaps in various benchmarks. Results on Frontier Math have jumped from 2% to 25%. The SWE-Bench model achieved a score of 71.7%, while a startup has raised $200 million following results of 13.86%. ELO on Codeforces reached 2727, surpassing most peers globally. Notably, the ARC-AGI model scored 87.5%, breaking a five-year benchmark. Access for security researchers to O3-Mini starts today, with general access available in late January. #O3#O3Mini#SOTA#Benchmarks#AI#ML#Funding#Codeforces#ARC-AGI #FrontierMath#SWE-Bench #ELO#GPQA#AIME#SecurityResearch#TechUpdates#Innovations#Startups#Performance#AIModels