@LiveHealthy · Post #6897 · 26.12.2024 г., 22:37
#healthy
Hashtags
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
Пребарај: #healthy
@LiveHealthy · Post #6897 · 26.12.2024 г., 22:37
#healthy
Hashtags
@ncdcgov · Post #4443 · 05.03.2025 г., 13:36
#Measles infection can lead to complications, especially in young children & those with weakened immune systems. Ensure the completion of routine immunisation for your children or wards to keep them safe and #healthy. #TakeResponsibility
@ncdcgov · Post #4154 · 09.01.2024 г., 08:32
#Measles infection can lead to complications, especially in young children & those with weakened immune systems. Ensure the completion of routine immunisation for your children or wards to keep them safe and #healthy. #TakeResponsibility
@ncdcgov · Post #4112 · 04.12.2023 г., 12:29
Unvaccinated young children are at the highest risk of #measles infection and its complications. Ensure the completion of routine immunisation for your children or wards to keep them safe and #healthy. #TakeResponsibility
@ncdcgov · Post #3677 · 05.01.2023 г., 11:58
Unvaccinated young children are at the highest risk of #measles infection and its complications. Ensure the completion of routine immunisation for your children or wards to keep them safe and #healthy. #TakeResponsibility
@ncdcgov · Post #3789 · 31.03.2023 г., 08:52
Vaccination is the best prevention measure against #CerebrospinalMeningitis. Ensure you complete the routine immunisation for your children or wards to keep them safe and #healthy. #TakeResponsibility
@ncdcgov · Post #4336 · 22.07.2024 г., 09:39
Vaccination is the best prevention measure against #CerebrospinalMeningitis. Ensure you complete Nigeria's routine immunisation schedule for your children or wards to keep them safe and #healthy. #DefeatMeningitis
@dzdigital3 · Post #18992 · 11.09.2025 г., 13:16
Détails and Price 👇 https://s.click.aliexpress.com/e/_EH5wZa6 Adjust Back Stretcher For Back Spine Lumbar Support Massage Muscle Relax Stretcher Posture Therapy Corrector Airbag Level High #neck#massager#healthy#healthylifestyle#massagetherapist
@dzdigital3 · Post #18991 · 11.09.2025 г., 13:11
Détails and Price 👇 https://s.click.aliexpress.com/e/_EHHIpge Portable Neck Massager for Neck Pain, Intelligent Portable Neck Massager with Heat Function, USB Charging Neck Relax Massager #neck#massager#healthy#healthylifestyle#massagetherapist
@yuristipravda · Post #753 · 24.03.2026 г., 07:04
Ну что, с коровами почти покончили, возьмёмся за пчёл: Лабораторно выращенные медоносные пчелы, созданные лишь для того, чтобы быть рабами и умирать рано. Генеральный директор ForgeBee Адам Гамильтон говорит, что компания использует ИИ и робототехнику для выращивания партий одноразовых пчел, которые будут отправляться пчеловодам и фермерам. Он говорит: "Их поведение будет манипулироваться с помощью комбинации химических веществ, которые по сути заставят пчел чаще собирать пыльцу". Эти "единицы", как они их называют, будут иметь срок жизни от двух до трех недель, посвященных опылению сельскохозяйственных культур. Кто-нибудь еще обеспокоен этим? А если эти измененные, лабораторно выращенные пчелы окажутся в дикой природе... что может пойти не так? Читайте: https://www.brownfieldagnews.com/news/lab-grown-honeybees-could-be-future-of-food-production/ #LabGrownHoneybees#honeybees#bees#pollinators#pollination#beekeepers#food#health#healthy#holistic#holistichealth#gmofreecanada#gmofreeusa#toxinfreeusa https://t.me/VseWeda/88080