@borkena · Post #5322 · 21.11.2025 г., 19:16
Asmarom Legesse’s Gadaa: Anthropological Whitewash or Political Hackwork? Read. borkena.com/2025/11/21/asm… #Ethiopia#Gadaa#AsmaromLegesse#Oromummaa
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
Пребарај: #gadaa
@borkena · Post #5322 · 21.11.2025 г., 19:16
Asmarom Legesse’s Gadaa: Anthropological Whitewash or Political Hackwork? Read. borkena.com/2025/11/21/asm… #Ethiopia#Gadaa#AsmaromLegesse#Oromummaa
@addisstandardeng · Post #21347 · 09.02.2026 г., 10:47
#Tribute: Professor Asmarom Legesse: Pioneer Scholar Who Illuminated the #Gadaa System to the World Professor Asmarom Legesse, the Eritrean-born anthropologist who redefined African democratic discourse, passed away on January 31, 2026, aged 94. In this tribute, Teferi Tafa notes the Harvard-trained scholar "spent over half a century documenting the #Oromo Gadaa system, dismantling colonial myths that dismissed indigenous #African governance as primitive." The author explains that Asmarom’s works revealed "a sophisticated constitutional order" featuring rotational leadership and term limits. He proved that Gadaa was "a highly developed system of checks and balances... that had governed Oromo society for centuries." Tafa emphasizes that Asmarom’s legacy of "intellectual decolonization" establishes him as a hero to the Oromo and a titan of global anthropology. https://addisstandard.com/?p=55081
@addisstandardeng · Post #21319 · 05.02.2026 г., 12:15
#In_Memoriam: A Tribute to Professor Asmarom Legesse Asmerom Legesse (PhD), a pioneering scholar of the #Oromo Gadaa system, passed away at the age of 94. Born on 5 February 1931 in #Eritrea, he was widely respected for his rigorous and sustained studies of Oromo governance, now foundational to #African indigenous political thought. In this tribute, Ezekiel Gebissa writes that “for the Oromo people… death is not an ending but a passage from the world of binary reality to the realm of singularity.” Over nearly six decades, Asmerom reshaped African political studies by showing that #Gadaa is “not a relic of the past but a sophisticated, stable, and coherent democratic system.” Asmerom’s legacy remains the cornerstone of Oromo studies and global indigenous governance. https://addisstandard.com/?p=55020
@addisstandardeng · Post #21309 · 04.02.2026 г., 14:38
News: Prominent #Oromo Gadaa scholar Asmerom Legesse passes away at 94 Asmerom Legesse (PhD), a distinguished scholar renowned for his pioneering research on the Oromo #Gadaa system, has passed away at the age of 94. Born on 5 February, 1931, in #Eritrea, Asmerom was widely recognized for his in-depth studies of Oromo traditions and governance, which have become foundational references for scholars of #African indigenous systems. In a statement, the Oromo Studies Association (#OSA) confirmed his death, expressing deep sorrow over the loss of a researcher described as a “kinsman of the Oromo people.” The association noted that Asmerom’s work on Oromo customs, history, and culture significantly advanced understanding of political and social systems across Africa. The Oromia Culture and Tourism Bureau expressed deep condolences, emphasizing that his life’s work preserved the Oromo Gadaa system and documented its practices for future generations, serving as.... Read more: https://addisstandard.com/?p=54991