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 слични објави

Пребарај: #ecf

当前筛选 #ecf清除筛选
Addis Standard

@addisstandardeng · Post #21104 · 17.01.2026 г., 08:32

News: #IMF approves $261 million disbursement to #Ethiopia, cites stronger macroeconomic performance The International Monetary Fund (IMF) has approved the immediate release of US$261 million to Ethiopia under its Extended Credit Facility (#ECF), following the completion of the fourth review of the country’s reform program. The decision, the Fund said, reflects “stronger-than-anticipated macroeconomic outcomes and overall performance broadly in line with program commitments.” In a statement issued on 16 January 2026, the IMF said the Executive Board’s decision under the 48-month ECF arrangement will support Ethiopia’s balance of payments and fiscal financing needs. The disbursement brings total funding released under the program to approximately US$2.183 billion (SDR 1.6 billion). To strengthen the foreign exchange market, the IMF introduced a new performance criterion setting a zero limit on foreign exchange intervention outside of auctions. Read more: https://addisstandard.com/?p=54630

Addis Standard

@addisstandardeng · Post #21279 · 02.02.2026 г., 13:04

#Ethiopia: National Bank to phase out #gold premium, open purchases to private banks; #IMF warns exchange rate challenges hinder private investment The National Bank of Ethiopia (#NBE) is overhauling its gold transaction procedures to reduce risks to its balance sheet and curb distortions in the banking sector, according to the International Monetary Fund’s (IMF) latest review of Ethiopia’s Extended Credit Facility (#ECF) program. Under the new framework, the premium above international gold prices currently paid to miners will be phased out, while private banks will be allowed to participate in gold purchases. The NBE plans to develop a detailed implementation roadmap based on a study expected by the end of March 2026. In the meantime, quality control will be strengthened through expanded and improved gold testing at all purchasing sites. The central bank also intends to prepare a long-term exit plan from the gold market by the end of December 2026,... Read more: https://addisstandard.com/?p=54903