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

Пребарај: #kenyan

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

@addisstandardeng · Post #21462 · 20.02.2026 г., 08:42

#Russia denies of recruiting #Kenyan citizens for war in #Ukraine The Embassy of the Russian Federation in Kenya has rejected allegations that it was involved in recruiting Kenyan citizens to fight in the conflict in Ukraine, describing the claims as part of a “dangerous and misleading propaganda campaign.” In a press release issued on February 19, the embassy said it had observed with “great concern” reports circulating in Kenyan media and public discourse regarding Kenyan nationals who allegedly traveled to Russia, joined the Armed Forces of the Russian Federation, and participated in combat operations in Ukraine. The statement comes after an intelligence official briefing presented to Kenya’s Parliament reported that 89 Kenyans were confirmed on the front line, 39 were hospitalized, and 28 were missing in action. https://addisstandard.com/?p=55260

Addis Standard

@addisstandardeng · Post #21908 · 01.04.2026 г., 16:28

Shipping disruptions strand 8 million kg of #Kenyan tea in #Mombasa as #US-#Israel war with #Iran hits exports Disruptions to global shipping routes linked to the ongoing war between the United States, Israel, and Iran have left nearly eight million kilograms of tea stranded in warehouses in Mombasa, threatening export earnings and farmer incomes, according to the East Africa Tea Traders Association. George Omuga, managing director of the association that runs the Mombasa tea auction, told Reuters that losses have been accumulating at roughly $8 million per week since 01 March. “The current conflict in the Middle East has had a direct impact, a negative impact on this auction,” Omuga said, noting that no tea shipments were currently leaving for Middle Eastern markets, which account for 20–25% of Kenya’s tea exports. https://x.com/addisstandard/status/2039378986518626404?s=20

Addis Standard

@addisstandardeng · Post #21163 · 23.01.2026 г., 09:22

News: #IMF-backed forex reforms cost #Ethiopia $2.6 billion in central bank losses Ethiopia’s central bank, the National Bank of Ethiopia (#NBE), has recorded losses equivalent to $2.6 billion following the country’s shift from a fixed to a market-based foreign exchange regime in July 2024, according to audited financial statements cited by the #Kenyan outlet The EastAfrican. NBE said it incurred 407.1 billion birr in foreign exchange losses during the financial year ending June 30, 2025, largely due to the revaluation of its foreign currency assets and liabilities after the exchange rate realignment. Foreign exchange losses rose sharply to 445.23 billion birr, from 38.13 billion birr the previous year. The surge pushed the National Bank of Ethiopia’s overall operating loss to 428.56 billion birr, up from 10.51 billion birr a year earlier, and drove the Bank into a negative equity position of 380 billion birr, raising concerns over its ability to continue... Read more: https://addisstandard.com/?p=54706

Addis Standard

@addisstandardeng · Post #21956 · 07.04.2026 г., 05:28

#UN envoy meets RSF leader in #Nairobi to discuss de-escalation in #Sudan The United Nations Personal Envoy for Sudan, Pekka Haavisto, met with Rapid Support Forces (#RSF) commander Mohamed Hamdan “Hemetti” Dagalo in Nairobi on Monday to discuss practical avenues for de-escalation. The meeting in the #Kenyan capital is part of Haavisto’s inaugural regional tour. It follows recent discussions in Khartoum with the President of the Transitional Sovereign Council, General Abdel Fattah al-Burhan, as the UN seeks to mediate an end to the nearly three-year-old conflict. UN spokesperson Stéphane Dujarric described the talks as a “constructive opportunity” to exchange views on protecting civilians. He noted that all stakeholders engaged by Haavisto have expressed readiness to cooperate with the world body. “This is encouraging and must swiftly translate into concrete progress towards ending..... https://www.facebook.com/AddisstandardEng/posts/pfbid0KVXwXxdPxbctPJpW5qK7Kwkw63bPeXrmU7q7Bjab37CvbqfZT7SuvSHFZqa4GrN2l