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

Резултати

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

Пребарај: #legs

当前筛选 #legs清除筛选
Anatomy Art Hub ☮️

@anatomyarthub · Post #5961 · 11.11.2025 г., 04:16

#анатомия#ноги#anatomy#legs Quick Guide: Drawing Legs 1. Proportions The leg is typically 4-4.5 times the height of a character's head (measured in "head" units). The thigh (from the pelvis to the knee) and the shin (from the knee to the ankle) are approximately equal in length. 2. Basic Shapes Thigh: Think of it as two connected cylinders or a cone tapering slightly from the pelvis. The outer thigh is rounder and more convex due to the muscles. Knee: This is the central hinge. Simplify it into a cube or sphere, making sure the kneecap protrudes in the front. Shin: This is the most voluminous part at the back. Simplify the shin into a cylinder that tapers toward the ankle. The calf muscles create a distinctive bulge at the back. @anatomyarthub

Anatomy Art Hub ☮️

@anatomyarthub · Post #2499 · 21.01.2024 г., 07:04

#анатомия#ноги#anatomy#legs Форма ног зависит от формы костей и мышц. Вы можете в этом убедиться, глядя на анатомические рисунки. Наши ноги состоят из следующих костей: 1 — крестец; 2 — тазовая кость; 3 — бедренная кость; 4 — надколенник; 5 — малоберцовая кость; 6 — большеберцовая кость; 7 — кости стопы Самый эффективный способ выучить анатомию ног, как вы помните— это нарисовать скелет ноги, а поверх нее (лучше другим цветом) мышцы. А будущем достаточно схематично обозначать построение ног и накидывать их основную форму The shape of the legs depends on the shape of the bones and muscles. You can see this by looking at anatomical drawings. Our legs are made up of the following bones: 1 - sacrum; 2 - pelvic bone; 3 - femur; 4 - patella; 5 - fibula; 6 - tibia; 7 - foot bones The most effective way to learn the anatomy of the legs, as you remember, is to draw the skeleton of the leg, and on top of it (preferably in a different color) the muscles. In the future, it will be enough to schematically indicate the construction of the legs and outline their basic shape Аяҡ формаһы һөйәк һәм мускул формаһына бәйле. Анатомик һүрәттәргә ҡарап, быға инана алаһығыҙ. Аяҡтарыбыҙ түбәндәге һөйәктәрҙән тора: 1 - һигеҙенсе; 2 - янбаш һөйәге; 3 - бот һөйәге; 4 - быуын аҫты ҡунысы; 5 - бәләкәй һаҡаллы һөйәк; 6 - ҙур бурса һөйәге; 7 - табан һөйәктәре Аяҡ анатомияһын өйрәтеүҙең иң һөҙөмтәле ысулы, иҫләйһегеҙме - ул аяҡ һөлдәһен һүрәтләү, ә уның өҫтөндә (иң яҡшыһы башҡа төҫ) мускулдар. Ә киләсәктә аяҡтарҙың төҙөлөшөн схемалы рәүештә билдәләп, уларҙың төп формаһын һалыу ҙа етә @anatomyarthub

ПретходнаСтраница 1 од 3Следна