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

Резултати

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

Пребарај: #ichigo

当前筛选 #ichigo清除筛选
利姆诺斯岛·深空放送局📡

@limnosdsstation · Post #9920 · 02.02.2026 г., 11:58

#VRchat#3D衣装#3D装饰品#耳朵 メンダコ の 耳 扁面蛸之耳 以深海萌物扁面蛸为原型设计的可爱兽耳 已设定 PhysBone,动起来会有**“Poyo-poyo”**的软糯弹跳感,支持触摸互动 除基础材质外,还追加了通用的 Bubble (气泡) 材质,非常有水生生物的氛围 导入方法 【前置需求:lilToon & Modular Avatar 】 1.导入 UnityPackage 2.将对应模型的 Prefab 直接拖拽到 Avatar 根目录下即可 已适配的 Avatar #kipfel#Button#chocolat#ichigo#Elusion#Nochica#Eku#shinano#rurune#Milfy#Milltina#Lumina

利姆诺斯岛·深空放送局📡

@limnosdsstation · Post #10902 · 03.04.2026 г., 19:58

#VRChat#3D衣装#LookVook 🧸 LV.14 Teddy_Daddy🧸 泰迪小熊慵懒居家套装 在宽大衬衫的包裹中藏起那份不经意的俏皮,将那份漫不经心的性感发挥到了极致。无论是作为房间里的一抹温柔点缀,还是温馨贴贴时的私密选搭,它都是你衣柜里无可替代的氛围单品 【发售纪念特别特惠】(3/31 ~ 4/7): 单模型版:1400円 -> 990円 (超值低价!) 全套:2800円 -> 1980円 【第二阶段促销】(4/8 ~ 4/28): 单品:1100円 全套:2200円 技术规格 使用了最新的 VRC_Constraint,衬衫与玩偶的动态更加丝滑稳定 完美适配 Breast_Big / Small 等各种胸部 ShapeKey 环境要求:Unity 2022.3.22f1 + lilToon Shader 已适配的Avatar (全17种) #Mayo#Kumaly#Lumina#Ichigo#Shinano#Milfy#Milltina#Airi#Manuka#Moe#Selestia#Sio#Chocolat#Chiffon#Lime#Plum#Ramune 内容物 Unity_Package / PSD 原文件

利姆诺斯岛·深空放送局📡

@limnosdsstation · Post #10102 · 13.02.2026 г., 08:53

#VRchat#3D衣装#发型 ねこタイドボブヘア 猫系扎发波波头 上架纪念促销持续至 02/23 23:59(北京时间02/23 22:59) 1000円 → 800円 导入本产品前,请务必先安装 lilToon 和 Modular Avatar 的最新版本 注意事项 该发型将消耗 13 点参数内存 (Parameter Memory),请在使用前确认你的 Avatar 还有足够的剩余空间 拥有多达 92个 ShapeKey,配合 Modular Avatar 可以实现非常丰富的造型调整 已适配的Avatar #Airi#Shinano#Chocolat#Manuka#Milltina#Milfy#Sio#Rurune#Moe#Shinra#Nagi#Chiffon#Ichigo#Eku#Lumina#Karin#Ramune#Plum#Kumaly