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

Резултати

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

Пребарај: #strategicmove

当前筛选 #strategicmove清除筛选
Crypto M - Crypto News

@CryptoM · Post #65426 · 13.04.2026 г., 07:18

🚀 Whales Accumulate TRUMP Memecoin Before Mar-a-Lago Luncheon Large investors, often referred to as 'whales,' have been increasing their holdings of the TRUMP memecoin in anticipation of the April 25 Mar-a-Lago luncheon. According to NS3.AI, one particular wallet has notably increased its holdings to 1.13 million tokens, valued at approximately $3.2 million. This accumulation suggests a strategic move by investors ahead of the event. #Whales#TRUMPMemecoin#MarALagoLuncheon#Crypto#Investment#Memecoin#NS3AI#LargeInvestors#CryptoAccumulation#StrategicMove

Crypto M - Crypto News

@CryptoM · Post #64922 · 10.04.2026 г., 09:44

🚀 Britain Secures Defense Contract to Counter Missile Threats Britain has entered into a multimillion-pound agreement with defense startup Cambridge Aerospace to provide interceptors aimed at countering cost-effective missiles. Bloomberg posted on X, highlighting the recent missile activities by Iran around the Persian Gulf, which have prompted this strategic move. The contract underscores Britain's commitment to enhancing its defense capabilities in response to evolving threats in the region. #Britain#DefenseContract#MissileThreats#CambridgeAerospace#Interceptores#Iran#PersianGulf#Bloomberg#DefenseCapabilities#StrategicMove

Crypto M - Crypto News

@CryptoM · Post #64558 · 09.04.2026 г., 07:57

🚀 BNP Paribas Appoints New Head for Equity Capital Markets in India BNP Paribas has reportedly appointed Abhishek Joshi to lead its equity capital markets division within the investment banking sector in India, according to sources. Bloomberg posted on X, highlighting the strategic move by the bank to strengthen its presence in the Indian market. Joshi's appointment is expected to bolster BNP Paribas's capabilities in managing equity capital market operations, as the bank aims to expand its influence in the region. This decision comes amid increasing competition in the investment banking industry, with global banks vying for a larger share of the Indian market. BNP Paribas's investment banking division has been focusing on enhancing its services and offerings to cater to the growing demands of clients in India. Joshi, with his extensive experience in the field, is anticipated to play a pivotal role in driving the bank's growth strategy forward. #BNPParibas#EquityCapitalMarkets#India#InvestmentBanking#AbhishekJoshi#StrategicMove#FinancialServices#GlobalBanks#MarketExpansion#BankingLeadership