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

Резултати

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

Пребарај: #mythbusting

当前筛选 #mythbusting清除筛选
Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40981 · 27.04.2026 г., 10:01

The hymen is a small, flexible tissue at the entrance of the vagina. It doesn’t serve a specific purpose and can vary in size and shape. The hymen can stretch or tear naturally from activities like sports, tampon use, or sexual activity. Hymen myths are harmful and misleading: 1. The hymen isn’t a sign of virginity. 2. It doesn’t always "break" during intercourse; it’s flexible and can stretch. 3. No bleeding or pain is required for sexual activity—every experience is different. 4. The hymen should not define someone's worth or sexuality. 5. "Virginity restoration" surgeries are unnecessary and risky. The answer with the number 12 from [the poll a few days ago] was the only correct one. 🌸🩸🚫 [Read more] @googlefactss #HymenFacts#MythBusting#SexEd#Health#DidYouKnow

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40918 · 11.04.2026 г., 14:04

Many people believe rocks and minerals like rose quartz, amethyst, and moonstone have healing powers. These beliefs come from culture, symbolism, and psychology, not science. Ancient cultures gave stones meanings. Jade meant longevity. Turquoise meant protection. Quartz meant clarity. Modern crystal healing claims crystals carry energy that affects health. There is no scientific evidence for this. A study by Christopher French tested this with real and fake crystals. People did not know which they had. They reported similar feelings in both groups. This showed the effects came from expectation, not the crystals. They are still pretty though. 💎🔬🧠 [Read more 1] [Read more 2] [Read more 3] (Related poll) @googlefactss #crystals#science#facts#mythbusting#psychology#placebo