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 слични објави

Пребарај: #amazingnature

当前筛选 #amazingnature清除筛选
EKOLOG.UZ| ENG

@ekologuzenglish · Post #11057 · 04.01.2026 г., 01:01

Meet the Tardigrade — the creature that can survive almost anything It’s smaller than a grain of sand, lives in moss, and has even survived in outer space 🚀 This is the tardigrade, also known as the water bear — one of the toughest creatures on Earth. 🔬 What makes it so extraordinary? — survives extreme cold, close to absolute zero ❄️ — tolerates temperatures above 100 °C for short periods 🔥 — resists intense radiation — can live for years without water 💤 When conditions become harsh, the tardigrade enters a sleep-like state. It dries out, curls into a tiny “barrel,” and nearly stops all life processes. Then… 💧 one drop of water — and it comes back to life! 🌍 Tardigrades live almost everywhere: in moss, lichens, soil, fresh and salt water — even in Antarctica. 🧬 Scientists study tardigrades to understand: how to protect human cells, how life survives in extreme environments, and whether life could exist beyond Earth. 👉 Tiny and almost invisible — yet unbelievably strong. A true champion of survival 💪 #tardigrade#waterbear#amazingnature#microworld#science#ecology☘️Read the latest environmental news on the @ekologuz page. Follow us and send your suggestions and wishes via @eklguz_bot Instagram | Facebook | Twitter | Sayt | Youtube.

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40869 · 28.03.2026 г., 15:03

A single tree, called the Tree of 40 Fruits, holds the record for the most varieties of fruit on one tree. Created by Sam Van Aken, it has 40 different types of stone fruits. These include peaches, plums, apricots, almonds, and cherries. The tree was made using grafting, where branches from different fruit trees are attached to one rootstock. This project shows how diverse fruit can grow on a single tree. 🍑🌳🍒🍎🍏 [Read more] @googlefactss #TreeOf40Fruits#Grafting#SamVanAken#FruitVarieties#GuinnessWorldRecords#AmazingNature#SustainableFarming

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40860 · 25.03.2026 г., 23:01

Hussam Saraf set a record for the most species grafted onto a single tree. His tree has 5 different species: plum, apricot, almond, peach, and cherry. The tree was made by grafting branches from these species onto one trunk. This represents diversity and peaceful coexistence, as the fruits symbolize how different cultures can live together. 🌳🍑🍒 [Read more] @googlefactss #Grafting#PeacefulCoexistence#HussamSaraf#FiveSpeciesTree#FruitDiversity#GuinnessWorldRecords#AmazingNature#SustainableFarming