@borkena · Post #5894 · 01.03.2026 г., 03:04
የሽግግር መንግስት ለምንድነው የሚያስፈልገን፣ እንዴትስ ይመሰረታል? https://shorturl.at/ckshB#Ethiopia#News#Amharic
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
Пребарај: #amharic
@borkena · Post #5894 · 01.03.2026 г., 03:04
የሽግግር መንግስት ለምንድነው የሚያስፈልገን፣ እንዴትስ ይመሰረታል? https://shorturl.at/ckshB#Ethiopia#News#Amharic
@borkena · Post #5268 · 16.11.2025 г., 18:47
Media, Translation, and Historical Accountability: The Case of the “Wax-and-Cloth Burning” Narrative in Key Anbessa (2025). Read more. https://borkena.com/2025/11/14/ethiopia-media-translation-and-historical-accountability-the-case-of-the-wax-and-cloth-burning-narrative-in-key-anbessa-2025/#Ethiopia#News#Amharic
@borkena · Post #5577 · 18.12.2025 г., 04:16
ኢትዮጵያን እንደ ዩጎዝላቪያ ሳይበትኗት እንታደጋት https://shorturl.at/n8pDo#Ethiopia#Amharic#politics
@borkena · Post #5771 · 08.02.2026 г., 20:36
ኢትዮጵያ ኤርትራ ወታደሮቿን በአስቸኳይ ከኢትዮጵያ ድንበር እንድታስወጣ በደብዳቤ ጠየቀች https://shorturl.at/pmTIY#Ethiopia#Eritrea#News#Amharic#conflict
@borkena · Post #5310 · 20.11.2025 г., 18:41
“ደፋሪ ወታደሮች ይጠየቁ” እናት ፓርቲ |የአፋር ግንባታ ፍጥጫ አይሏል|የአሜሪካ እጅ በኢትዮ... https://youtu.be/_aTwho0Y630?si=dm0KFl41RdoNM6XA#Ethiopia#News#Amharic#rape#EnatParty
@borkena · Post #5710 · 09.01.2026 г., 17:05
የቂሊንጦ ማረፊያ ማእከል የተጠርጣሪዎች ቁጥር ከአቅሙ በላይ በመሆኑ ከፍተኛ መጨናነቅ መፈጠሩን ኢሰመኮ ገለጸ https://shorturl.at/ZGRAI#Ethiopia#News#Amharic#Klinto#Qlinto
@borkena · Post #6155 · 14.04.2026 г., 18:28
በዓመት ከስምንት ሺህ በላይ ህጻናት ለካንሰር ተጋላጭ ናቸው መባሉ ፤ የፖሊስ ባለስልጣኗ ግድያ ፤ የቻይና ምላሽ እና ሌሎች ዜናዎች https://youtu.be/nlsyo5kl7wI"#Ethiopia#News#EthiopianNews#Amharic#Children#China#elephants
@borkena · Post #6044 · 18.03.2026 г., 15:20
25 የኢትዮጵያ ባንኮች የመፍረስ አደጋ ተጋርጦባቸዋል ፤ በደሴ ከተማ ለተሽከርካሪዎች የተላለው የሰዐት እላፊ እና ሌሎች ዜናዎች፡፡ ሙሉውን ከቻናላችን ያድምጡ፡፡ https://youtu.be/7C295S7INDs#Ethiopia#News#Amharic#Banks#NationalBank#EthiopianNews#ዜና
@borkena · Post #6191 · 21.04.2026 г., 13:07
በሲቪል ሰርቪስ ከ150 በላይ የሀሰተኛ የትምርህርት ማስረጃ ተገኘ መባሉ ፤ በመንግስት ደጋፊነት የሚተቸው አብን መዋቅራዊ በደል ድርሷል ማለቱ እና ሌሎች ዜናዎች ፡፡ https://youtu.be/y4-9eSmywW8#Ethiopia#News#Amharic#EthiopianNews#fakecredential#education#NAMA
@borkena · Post #6014 · 13.03.2026 г., 21:12
የጋሞ ዞን የተፈጥሮ አደጋ ያስነሳው ስሞታ ፤ አማራ ባንክ አተረፍኩ ማለቱ ፤ የተበከለ በርበሬ እና በድሬዳዋ የታፈነው አክቲቪስት https://youtu.be/6b1O6LsLSc0#Ethiopia#EthiopianNews#Gamo#AmharaBank#toxinberbere#Amharic#ዜና
@addisstandardeng · Post #21665 · 10.03.2026 г., 10:03
News: #Google Expands AI Search to 13 #African Languages, Including #Ethiopia’s Afaan Oromoo, Amharic, and Somali Google has expanded its artificial intelligence–powered search tools to support 13 African languages, including Ethiopian languages #Afaan_Oromoo, #Amharic, and #Somali, in a move aimed at widening access to digital services across the continent. The update introduces local language support for Google’s #AI search features, enabling users to interact with the platform using text, voice, or images in their preferred languages. The company said the expansion is intended to make AI tools more accessible to millions of African users who rely on local languages for everyday communication. In addition to Afaan Oromoo, Amharic, and Somali, the newly supported languages include Afrikaans, Akan, Hausa, Kinyarwanda, Kiswahili, Sesotho, Setswana, Wolof, Yorùbá, and isiZulu. Google...... https://web.facebook.com/AddisstandardEng/posts/pfbid0ZJge8GLSFrAuxUkYUJm28Q53sUEEFUKEM9bXhKBFhuZPueaGkzDN6p2vv5Bv1J2Bl