@QuietWorld · Post #6814 · 29.10.2019 г., 06:30
Correction does much, but encouragement does more. #kindness@quietworld🍃
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
Пребарај: #kindness
@QuietWorld · Post #6814 · 29.10.2019 г., 06:30
Correction does much, but encouragement does more. #kindness@quietworld🍃
Hashtags
@QuietWorld · Post #6808 · 28.10.2019 г., 06:30
He who helps early helps twice. #kindness#life @quietworld🍃
@learnRCRussian · Post #5825 · 13.12.2025 г., 15:00
Служба спасения сов! Owl Rescue Service! 🦉Our fighters are rescuing an owl that got tangled in the fiber-optic cable from an FPV drone. • Сова (совы) (femin.noun) [sa-va (so-vy)] An owl(s) #news #kindness 😎RCR | Support | Boost
@learnRCRussian · Post #5821 · 12.12.2025 г., 13:00
Sometimes the world seems very difficult and complicated, doesn't it? 😽It is so difficult to remain kind and humane in our time, the harder our life is, the more pleased we are with videos where people support and understand each other, where a kind joke warms our hearts and makes our world brighter! 😽Yes, we are busy with our own affairs, burdened with problems, family events. We forget about the power of human kindness. A young girl, on her first day at work, is very worried. Every plate feels like a test, every look from the customer feels like a judgment. But instead of impatience, she is greeted with smiles. Instead of irritation, there are encouraging shouts and friendly hugs. The guests, as if sensing her vulnerability, choose sympathy. They thank and cheer her up. 😽This is a deep truth. Our strength is not in perfection, but in kindness. We offer kindness to others and choose it in ourselves. Video: Новый мир #kindness #brief_and_interesting #Russian_culture 😎RCR | Support | Boost
@QuietWorld · Post #7202 · 24.02.2020 г., 08:38
#life#love#kindness @quietworld🍃
@QuietWorld · Post #6779 · 23.10.2019 г., 23:30
🔖“What we have done for ourselves alone; dies with us. What we have done for others and the world; remains and is immortal.” · Albert Pike · #life#kindness#truth @quietworld🍃
@QuietWorld · Post #7625 · 07.10.2020 г., 02:01
#life#kindness#inspiration @quietworld🍃
Hashtags
@googlefactss · Post #40077 · 13.11.2025 г., 03:00
World Kindness Day, from the World Kindness Movement, is a universal awareness day about promoting the importance of being kind to each other, to yourself, and to the world, and is celebrated on the 13th of November every year. Celebrate by being kind online too. [Source] @googlefactss #Kindness#BeKind
@QuietWorld · Post #6748 · 19.10.2019 г., 13:00
Happiness is not so much in having as in sharing; We make a living by what we get, but we make a life by what we give. – Norman M. #kindness#happiness#life @quietworld🍃
Hashtags
@QuietWorld · Post #7764 · 24.03.2021 г., 22:24
#wisdom#kindness#truth @quietworld🍃
@QuietWorld · Post #6811 · 28.10.2019 г., 13:01
We love those people who give with humility, or who accept with ease. #kindness#gratitude @quietworld🍃
Hashtags
@QuietWorld · Post #7694 · 24.11.2020 г., 00:54
#love#kindness#life#truth @quietworld🍃