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

Резултати

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

Пребарај: #mythbusted

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

@googlefactss · Post #40461 · 02.01.2026 г., 11:02

Myth: The tongue is divided up into specific areas that are solely responsible for sensing certain tastes (e.g., sweet at the tip, bitter at the back) Fact: The tongue's receptor cells that identify the molecules underlying the basic tastes (sweet, sour, salt, bitter and umami) are distributed on taste buds all over the tongue although some areas may be slightly more sensitive to certain flavors.. @googlefactss#humanbody#nowyouknow#mythbusted [read more...]

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40369 · 20.12.2025 г., 07:03

Myth: Glass flows over time, making old windows thicker at the bottom. Fact: Glass is an amorphous solid, meaning its atoms are arranged randomly, not in a pattern like crystals. It stays solid at all normal temperatures and only softens above 600°C (1112°F). Old windows are thicker at the bottom because of how they were made, not because glass moves. 🔥🌡️ [Read more] @googlefactss #GlassFacts#Science#MythBusted#Heat

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40175 · 23.11.2025 г., 20:45

Viking helmets with horns are -mostly- a myth. Only one authentic Viking helmet exists, without horns. Horned helmets appear in art linked to berserkers—fierce warriors who likely wore them for rituals, not battle. Horns would be impractical in combat, and no historical records mention Vikings wearing them. Real Viking helmets were simple and functional. ⚔️🛡️ [More🪖] @googlefactss #Vikings#History#MythBusted#Berserkers#Archaeology

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40237 · 02.12.2025 г., 11:01

❄️ Hot water does NOT freeze faster than cold water. While a rare phenomenon called the Mpemba effect suggests it can happen under specific conditions, cold water almost always freezes first. [Source] This post is a correction for another one we posted in the past [here] @googlefactss#Science#Physics#WaterFreezing#MpembaEffect#MythBusted

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40340 · 16.12.2025 г., 15:03

The idea that skinny people have fast metabolisms is a myth. Metabolism depends largely on muscle mass—more muscle means higher energy use. Skinny people usually have less muscle, so their metabolism is often slower. Weight and appearance don’t reliably show metabolism speed. [Read more] @googlefactss #Metabolism#MythBusted#Health#Fitness#BodyScience

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40495 · 07.01.2026 г., 15:03

Myth: opposums sleep while hanging by their tails. Fact: Opossums do not hang upside down by their tails 🐾. Their tails are strong for gripping branches and carrying nesting materials but can’t hold their full weight for long. Young opossums might dangle briefly but don’t sleep that way. They “play possum” by pretending to be dead when scared, which helps protect them from predators. 🌙🐾🌳 [Read more] @googlefactss#PossumFacts#AnimalBehavior#NatureFacts#MythBusted#DisneyWasWrong