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

Резултати

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

Пребарај: #ncdcupdates

当前筛选 #ncdcupdates清除筛选

🚨#WellnessWednesday: Protect Yourself from Lassa Fever! 🚨 Lassa fever is still a public health threat in Nigeria, with 413 confirmed cases and 80 deaths reported so far in 2025. 🦠 Here’s how you can reduce your risk and stay safe: ✅ Store food properly – Keep food and grains in sealed containers to prevent rat contamination. ✅ Keep your home clean – Eliminate rodent hiding places by keeping your environment tidy. ✅ Practice good hand hygiene – Wash your hands regularly with soap and running water. ✅ Avoid bush burning – It drives rats into homes, increasing the risk of infection. ✅ Seek medical help early – If you experience fever, weakness, or bleeding, visit a health facility immediately. Lassa fever is preventable! Stay informed and take action to protect yourself and your loved ones. 📖 Read the full situation report here: https://ncdc.gov.ng/themes/common/files/sitreps/d84698b45d03dafb399e97fa8379c4d5.pdf #StaySafe#LassaFever#TakeResponsibility#NCDCUpdates

🚨 Meningitis is a life-threatening infection! 🚨 Early detection can save lives. Seek medical help immediately if you or a loved one experience: ⚠️ Neck pain & stiffness ⚠️ Sensitivity to bright lights ⚠️ Vomiting & nausea ⚠️ Muscle, joint, or limb pain ⚠️ Skin rash ⚠️ Seizures ⚠️ Cold hands & feet Don’t wait! Report to a healthcare facility immediately! #MeningitisAwareness#TakeResponsibility#StaySafe#NCDCUpdates

📢 DIPHTHERIA UPDATE | Epi-Week 06, 2025 🦠 New suspected cases: 35 🛑 New confirmed cases: 19 🙏 New deaths: 0 📍 Total cases so far: ⚠️ 41,978 suspected ✅ 25,298 confirmed 💔 1,279 deaths 📌 26 states & 184 LGAs affected 💡 What you should know: Diphtheria is highly contagious but preventable with vaccination! 💉 ✅ Get vaccinated ✅ Practice good hygiene ✅ Seek medical care early 📖 Full report here: 🔗ncdc.gov.ng/themes/common/files/sitreps/943ca4ce8c5adaa7a1f04f467804c84a.pdf #Diphtheria#PublicHealth#VaccinesWork#TakeResponsibility#NCDCUpdates

#WellnessWednesday: Boost Your Immunity, Stay Protected! 🛡️🥦 Your immune system is your first line of defense against infections, including Mpox and other diseases. Keep it strong with these healthy habits: 🥗 Eat a balanced diet rich in fruits, vegetables, and proteins 🚶‍♂️ Stay active with regular exercise 💧 Hydrate—drink plenty of water daily 😴 Get enough sleep to support immune function 🧼 Practice good hygiene—wash hands frequently and keep surroundings clean 💉 Stay up to date on vaccinations where applicable A strong immune system means a healthier you! Take charge of your wellness today. #WellnessWednesday#HealthyLiving#BoostYourImmunity#StayProtected#NCDCUpdates

#HealthTipMonday: Protect Yourself While Caring for Mpox Patients! 🏥🦠 Healthcare workers, your safety matters! Prevent Mpox infection by following standard Infection Prevention and Control (IPC) measures when handling suspected or confirmed cases. Your safety is just as important as your patients. Protect yourself while protecting others! Stay safe, stay informed. #HealthTipMonday#PreventMpox#InfectionControl#HealthcareSafety#NCDCUpdates