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

Резултати

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

Пребарај: #financetechnology

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

@CryptoM · Post #64464 · 09.04.2026 г., 01:17

🚀 CZ: Crypto vs Traditional Finance Is a False Divide — 'It's Just a New Technology for Finance' Speaking on The Wolf of All Streets Podcast, Binance founder Changpeng Zhao (CZ) revealed that he shared his memoir Freedom of Money with BlackRock CEO Larry Fink and obtained a quote from him, praising Fink as an example of someone who publicly changed his mind on Bitcoin and pushed it hard afterwards. CZ said he views the framing of crypto versus traditional finance as a false dichotomy — crypto is simply a new technology for finance, and convergence between the two is inevitable, with tokenization of real-world assets as a key driver. On access, CZ argued that any person anywhere in the world should be able to buy any listed stock, calling current restrictions an anomaly that blockchain can help resolve. CZ said the "72 principles" attributed to him online were counted by a Chinese KOL on X, not by him; he removed numbered headings intentionally. He said the principles blog began after a meeting with Ray Dalio in 2021 or 2022, during which Dalio encouraged him to write down his decision-making principles, and it is included as an appendix in Freedom of Money. #Crypto#TraditionalFinance#Blockchain#Tokenization#FinanceTechnology#GlobalFinance#Binance#CZ#LarryFink#RayDalio#BNB#BTC

Venture Village Wall 🦄

@venturevillagewall · Post #4084 · 06.02.2025 г., 16:00

Ondo Finance Launches Layer 1 Blockchain Ondo Finance has officially unveiled the Ondo Chain, a new Layer 1 blockchain designed to facilitate financial markets at an institutional level. This initiative aims to enhance the tokenization of real-world assets, leveraging Blockchain technology to streamline future financial transactions. More details available here. #OndoFinance#Blockchain#RWA#Finance#Crypto#DeFi#InstitutionalFinance#Tokenization#RealWorldAssets#Layer1#CryptoNews#USDC#Innovation#TechNews#Investment#MarketUpdates#Tokenomics#FinanceTechnology#FinancialMarkets#Community