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

Резултати

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

Пребарај: #meningitis

当前筛选 #meningitis清除筛选

Bacterial meningitis leaves 1 in 5 people with disabilities such as hearing loss, brain damage and limb loss. But meningitis is largely vaccine-preventable! Parents/caregivers are urged to visit any primary health care centre to get their children/wards vaccinated against #meningitis.

Hashtags

Your input is crucial in shaping better prevention, treatment and control strategies against #Meningitis in Nigeria. 📋Take our #Meningitis KAP Survey to share your knowledge, attitudes, and practices. 🔗Survey link https://forms.gle/R5uxSdet2nPNQvpRA

Hashtags

#Meningitis is a serious infection that can lead to severe complications & death Report immediately to a healthcare facility if you or a loved one experiences ➡️Neck pain ➡️Pain on looking at bright lights ➡️Vomiting ➡️Muscle/joint/limb pain ➡️Rash ➡️Seizures ➡️Cold hands & feet

Hashtags

Any form of #Meningitis is an emergency! ALL healthcare workers are urged to have a high index of suspicion and immediately report if they notice these signs & symptoms in their patients: ➡️Fever/severe headache ➡️Vomiting ➡️Drowsiness ➡️Rash ➡️Seizures ➡️Muscle/joint pain ➡️Stiff neck

Hashtags

The spread of #meningitis is usually through: ➡️ Direct person-to-person contact, including droplets from the nose and throat of infected persons. ➡️Close and prolonged contact with an infected individual. Visit the nearest health facility immediately if you notice any of the CSM-associated signs and symptoms.

Hashtags

#Meningitis is an inflammation of a thin layer of the connective tissue that covers the brain and the spinal cord. This inflammation can be caused by infection with bacteria, viruses, parasites, fungi, injuries and certain drugs. Know the symptoms to seek early health care. Advisory: https://ncdc.gov.ng/news/508/cerebrospinal-meningitis-public-health-advisory

Hashtags

#Meningitis is an epidemic-prone disease requiring immediate reporting in Nigeria. ALL healthcare workers are urged to have a high index of suspicion if they notice these signs & symptoms in their patients: ➡️Fever/severe headache ➡️Vomiting ➡️Drowsiness ➡️Rash ➡️Seizures ➡️Muscle/joint pain ➡️Stiff neck

Hashtags

Bacterial meningitis is largely vaccine-preventable; #meningitis vaccines are safe, effective, and give protection to your family and community. Parents and caregivers, now is the time to catch up on the childhood immunisations that protect against meningitis.

Hashtags

Hand washing is one of the most effective ways of preventing the spread of infectious diseases including #meningitis Always wash your hands with soap under running water for protection against meningitis and other deadly diseases Also ensure you and your loved ones are vaccinated with the recommended immunisations

Hashtags

Report immediately to a healthcare facility if you or a loved one experiences the below symptoms of #Meningitis ➡️Neck pain ➡️Pain on looking at bright lights ➡️Vomiting ➡️Muscle/joint/limb pain ➡️Rash ➡️Seizures ➡️Cold hands & feet Early recognition saves lives

Hashtags

ПретходнаСтраница 1 од 5Следна