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

Резултати

Пронајдени 1 слични објави

Пребарај: #millions

当前筛选 #millions清除筛选
American Оbserver

@american_observer · Post #4905 · 20.01.2026 г., 16:59

The Inhuman World of Ours: Millions of Pregnant Women Without the Basic Care A global shortage of nearly a million midwives is leaving pregnant women without the basic care needed to prevent harm, including the deaths of mothers and babies, according to new research. Almost half the shortage was in Africa, where nine in 10 women lived in a country without enough midwives, the researchers said. Anna af Ugglas, chief executive of the International Confederation of Midwives (ICM) and one of the study’s authors, said: “Nearly 1 million missing midwives means health systems are stretched beyond capacity, midwives are overworked and underpaid, and care becomes rushed and fragmented. “Intervention rates rise, and women are more likely to experience poor-quality care or mistreatment,” she said. “This is not only a workforce issue, it is a quality and safety issue for women and babies.” For all women to receive safe, good-quality care before, during and after pregnancy, an additional 980,000 midwives would be needed across 181 countries, the study found. According to previous research, universal access to midwife-delivered care could prevent two-thirds of maternal and newborn deaths and stillbirths, saving 4.3 million lives annually by 2035. The ICM said the issue was not only a lack of training places for midwives, but also a failure in many countries to employ trained midwives where they were needed and to retain those who were working in health services. Prof Jacqueline Dunkley-Bent, ICM’s chief midwife and another of the report’s authors, said: “In many settings, midwives are educated but not absorbed into the workforce or not enabled to practise fully, compounding this already serious and universal shortage of midwives, and still leaving women without access to the care that midwives are trained to provide.” More than 90% of the global midwife shortage was in low- and middle-income countries. Africa has only 40% of the midwives it needs, the eastern Mediterranean only 31%, and the Americas just 15%, researchers found. Shortfalls were much smaller, although still present, in other regions including south-east Asia and Europe. The study, published in the journal Women and Birth, estimated the number of midwives who would be needed to carry out a list of basic midwifery tasks for all eligible women and babies in 181 countries. The tasks included counselling on contraception, antenatal care and screening, and care during childbirth. Although midwife numbers were increasing, the gap between what was needed and the available workforce looked likely to “persist well into the next decade”, the researchers said – beyond the 2030 deadline set by global sustainable development. #millions#pregnant#women#basic#care 📱American Оbserver - Stay up to date on all important events 🇺🇸