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

Пребарај: #hitsats

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

@addisstandardeng · Post #21162 · 23.01.2026 г., 08:07

Hunger, death, devastation: No respite in #Tigray a year after #US aid cuts Lately, 88-year-old Nireayo Wubet spends many of his days burying friends and family members. As he grieves, he worries about whether there will be anyone left to offer him a decent burial when the time comes, as severe hunger ravages a large swath of his village in #Ethiopia’s northern Tigray region. “We have little humanitarian support,” laments the octogenarian whose frail appearance is mirrored by many others in his village of #Hitsats, near the Eritrean border. “It’s not conflicts that will ultimately kill us, but famine,” he says. Once a proud farmer from Humera – currently a disputed area within the Amhara region – Wubet took shelter in Hitsats four years ago, after fleeing conflicts and ethnic strife that uprooted him and others in the region. He was first displaced in the middle of the Tigray war... https://web.facebook.com/AddisstandardEng/posts/pfbid0mMVb9ns8gPGCMXSzawQkMRcqY4uTyK2SaPPUr2g8J4ioE1DUjiRFq3AnYViNf4ghl

Addis Standard

@addisstandardeng · Post #21819 · 24.03.2026 г., 13:30

#Ethiopia: More than 1,300 IDPs died of hunger in #Tigray camps, official says More than 1,300 internally displaced persons (#IDPs) have died from hunger and lack of medical care in camps across Ethiopia’s Tigray region over the past three years, according to a regional official cited by AFP. Gebreselassie Tareke, a director at Tigray’s Social Affairs Office, told AFP that at least 1,309 people had died in IDP camps, warning that conditions are deteriorating amid declining humanitarian assistance. “The situation is getting worse,” he said, noting reduced support from both the federal government and international aid organizations. He added that one of the most affected camps hosts around 150,000 people, with many others at risk. Recent reporting by Addis Standard points to similar conditions on the ground. On 19 March 2026, it reported that at least 333 IDPs had died at the #Hitsats camp since May 2025 due to hunger & lack of medicine, while 125 deaths..... Read more: https://addisstandard.com/?p=56035

Addis Standard

@addisstandardeng · Post #21765 · 19.03.2026 г., 05:31

#Ethiopia: More than 330 IDPs reported dead in #Hitsats, 125 in #Adwa as coordinators warn of worsening humanitarian crisis At least 333 internally displaced persons (#IDPs) have died at the Hitsats center in Tigray since May 2025 due to hunger and lack of medicine, while in Adwa 125 people have died since October 2025. DPs and camp officials told Addis Standard that shrinking humanitarian assistance and continued new arrivals are pushing already vulnerable communities into what they describe as a life-threatening crisis, intensifying pressure on limited resources. Displaced residents and coordinators in Hitsats say the situation has further worsened, with rising fatalities, disease outbreaks, and reduced humanitarian support. “To speak of the conditions in Hitsats, one must see it with their own eyes,” said Abrha Mebrahtom, coordinator of the Hitsats IDP center. “Though there were good starts previously, they have now ceased. People are wasting away;..... Read more: https://addisstandard.com/?p=55953