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

Резултати

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

Пребарај: #failure

当前筛选 #failure清除筛选
News and Tips

@NewsAndTipsNT · Post #3833 · 18.11.2025 г., 13:19

📰 A sharp and unexpected #failure of the Cloudflare hosting provider affected not only many popular sites and services, but also Fragment, the Tonnel gift marketplace and others. 🌩 Developers are studying this problem. UPD: hosting has been restored.

Hashtags

News and Tips

@NewsAndTipsNT · Post #3619 · 12.09.2025 г., 09:47

#failure📰 Domains t.me, telegram.org,fragment.com and stel.com were not working and were partially down and were restored to service a few minutes ago. VPN did not solve the problem partially either.

Hashtags

Лёгкое небо

@legkoenebo · Post #4397 · 22.12.2025 г., 17:50

⚡️Airbus A320 Уральских Авиалиний, следовавший из Дубая в Екатеринбург, произвел экстренную посадку в Ашхабаде (Туркменистан). ❗️Самолет, после 2-х часов полета перед пересечением границы Ирана с Туркменистаном на высоте 10.000м, подал сигнал бедствия и запросил экстренную посадку в ближайшем аэропорту. 💬 Как сообщают Уральские Авиалинии, у двигателей была разница в показаниях топлива. В связи с этим командир принял решение выключить 1 двигатель. Лёгкое небо #emergency#uralairlines#failure#engine#landing

Venture Village Wall 🦄

@venturevillagewall · Post #3444 · 19.12.2024 г., 11:44

Avoid Copycat Mistakes Copying strategies without understanding their context can harm startups. From the experience of a former CTO, mindless imitation of established B2B products leads to failure. Large companies aim to protect their gains, while startups focus on growth. Analyze original strategies instead of copying them blindly. Discover more about proper implementation in the provided link. #Startup#B2B#SaaS#Strategy#Growth#Analysis#Innovation#Business#Entrepreneurship#CTO#Imitation#Failure#Success#Marketing#Learning#Education#BusinessStrategy

Venture Village Wall 🦄

@venturevillagewall · Post #4181 · 18.02.2025 г., 13:00

Crypto Scandal: LIBRA's Dramatic Fall Dave Portnoy attempts to buy tokens after repurposing LIBRA, mistakenly investing $200K in a fraudulent version, which plummeted 93%. Meanwhile, President Javier Milei faces allegations of fraud linked to the LIBRA token. A lawsuit by Argentine lawyers cites the former Central Bank head. CEO Hayden Davis of Kelsier Ventures blames insider selling for the crash. Investigations are ongoing amidst claims of insider knowledge in the token launch. For more insights, check the full news: Forklog News. #Crypto#Argentina#Libra#Miley#Scandal#Failure#InsiderTrading#Lawsuit#Kelsier#Token#Blockchain#Finance#Investigation#HaydenDavis#Fraud#News#Market#Trends#Regulations#DeFi