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

Резултати

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

Пребарај: #fungus

当前筛选 #fungus清除筛选
Interesting Planet 🌍

@interesting_planet_facts · Post #472 · 31.07.2025 г., 03:22

🌎 The Patagonian "stone flower" fungus, living on roots in arid South America, mimics pebbles to avoid predation. Its camouflaged fruiting bodies slowly absorb moisture and burst after rare rains, releasing clouds of spores across the steppe. ✨ #fungus⚡#camouflage⚡#Patagonia 👉subscribe Interesting Planet

Interesting Planet 🌍

@interesting_planet_facts · Post #538 · 11.08.2025 г., 00:22

🌎 The Devil’s Cigar is a rare fungus found only in parts of Texas and Japan. When it opens, it releases visible clouds of spores with a faint hissing sound—one of the few mushrooms that “smokes” as it spreads its seeds! ✨ #fungus⚡#nature⚡#Texas 👉subscribe Interesting Planet

Interesting Planet 🌍

@interesting_planet_facts · Post #476 · 31.07.2025 г., 20:22

🌎 The leafcutter ant creates underground gardens by carrying fresh leaves to feed a special fungus, which is their true food. This farming partnership has evolved over millions of years, making these ants nature’s original farmers long before humans. ✨ #ants⚡#fungus⚡#agriculture 👉subscribe Interesting Planet

萌图志

@moepic · Post #51845 · 01.01.2025 г., 11:26

title: アイドルマリーちゃん author: #fungus tags: #ブルーアーカイブ#ブルアカ#BlueArchive#伊落マリー#アイドル#伊落マリー(アイドル) #ブルーアーカイブ1000users入り url: pixiv.net/i/123772793