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

Пребарај: #msf

当前筛选 #msf清除筛选
Borkena

@borkena · Post #5560 · 15.12.2025 г., 16:34

Ethiopia’s First R21 Malaria Vaccine Rollout, A Global First In A Refugee Camp (MSF) https://borkena.com/2025/12/15/ethiopias-first-r21-malaria-vaccine-rollout-a-global-first-in-a-refugee-camp/#Ethiopia#Malaria#MSF

Addis Standard

@addisstandardeng · Post #21208 · 27.01.2026 г., 13:35

#Afar: Delivering lifesaving nutrition across one of #Ethiopia’s harshest landscapes Once you leave the city of #Semera behind, the Ethiopian landscape quickly opens into vast stretches of dry earth that seem to run endlessly toward the horizon. Sparse green bushes dot the dusty ground, framed by distant mountains and volcanoes that define the Afari landscape. As our vehicles drive toward the town of Magenta to deliver nutrition to children through Doctors Without Borders/Médecins Sans Frontières (#MSF) outreach activities, a river runs alongside the road. One of the main challenges faced by local communities is right in front of our eyes: water. Afar, crossed by the Danakil Depression marking the northern end of the East African Rift Valley, is considered one of the hottest inhabited places on Earth. Water availability and quality in the region are strongly influenced by its..... https://www.facebook.com/AddisstandardEng/posts/pfbid02eyGnawFb7VhMHg63k8WpiMijY9FpwCawUmrdsKrtzRv4KyRYPzEBTN3ngQUxCZpEl

Addis Standard

@addisstandardeng · Post #21899 · 01.04.2026 г., 05:28

Sexual violence is being used as a weapon in #Sudan’s war, doctors group says #Sexual_violence against women and girls is being used as a weapon of war in Sudan ‘s fierce conflict between the military and paramilitary Rapid Support Forces (#RSF), international aid group Doctors Without Borders said in a report Tuesday. Sudan slid into chaos in April 2023 when a power struggle between the two forces exploded into open fighting in Khartoum and elsewhere. The International Criminal Court is investigating mass killings, gang rapes and other crimes during the conflict as potential war crimes and crimes against humanity. Doctors Without Borders, known by its French acronym #MSF, detailed in its report the accounts of women who were gang raped in the South #Darfur and North Darfur regions. MSF said that at least 3,396 survivors of sexual violence sought treatment at their facilities between January 2024...... https://apnews.com/article/sudan-war-darfur-sexual-violence-rape-rsf-bead0dded97628032066141e063e41e5