@RsRamble · Post #535 · 18.05.2024 г., 19:58
一起出去的好友,之前背景和灯都借的他的 他说这图看着像间谍XD 确实像Watch_Dogs那位 是当事人的默认皮肤 拍摄于Suntec (2024-05-18) #singapore#suntec
Hashtags
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
Пребарај: #suntec
@RsRamble · Post #535 · 18.05.2024 г., 19:58
一起出去的好友,之前背景和灯都借的他的 他说这图看着像间谍XD 确实像Watch_Dogs那位 是当事人的默认皮肤 拍摄于Suntec (2024-05-18) #singapore#suntec
Hashtags
@RsRamble · Post #544 · 23.05.2024 г., 13:15
每次都敬佩这些头壳和兽装的,我原皮出动都感觉微热 是原创角色 拍摄于Doujima D2 (2024-05-12) #singapore#suntec#doujima#doujima2024#doujimasg#originalcharcter#furry#coser
@RsRamble · Post #1064 · 28.07.2025 г., 14:45
「我不是来被原谅的,我是来翻盘的。」 这就是传说中的五毛特效? Midjourney生成的,换成screen叠加就行了 天官赐福的谢怜(私设) Suntec Convention Centre (2022-07-25) #xielian#xieliancosplay#heavenofficialsblessing#heavenofficialsblessingcosplay#cosplay#suntec#singapore
@RsRamble · Post #537 · 21.05.2024 г., 12:42
Serving with pride and honor Join the Black Knights Guild today 是当事人给的配文,好尬啊,但还是采用了 是原创角色 拍摄于Doujima D2 (2024-05-12) #singapore#suntec#doujima#doujima2024#doujimasg#originalcharcter#samurai#katana#coser
@RsRamble · Post #541 · 21.05.2024 г., 14:02
以前拍过的温迪,当时他就拿小提琴,现在还是小提琴 人家是真的会拉小提琴的…… 不过他这次套了层妹抖服,所以都不好意思联名了XD 原神的温迪 拍摄于Doujima D2 (2024-05-12) #singapore#suntec#doujima#doujima2024#doujimasg#genshinimpact#原神#venti#ウェンディ#coser
@RsRamble · Post #981 · 22.04.2025 г., 11:09
「殺人事件? 面白いパズルだね。」 死亡笔记的L Sky Garden, Suntec City (2025-04-20) #l#llawliet#エル#deathnote#デスノート#cosplay#anime#suntec#sunteccity#singapore
@RsRamble · Post #549 · 26.05.2024 г., 12:48
我会讲是被超大号扇子吸引过去的嘛 其实拍了不少,但动作都差不多,所以只找了几张不太相似的 拍黑衣果然充满了挑战 火影忍者的手鞠 拍摄于Doujima D2 (2024-05-12) #singapore#suntec#doujima#doujima2024#doujimasg#naruto#narutoshippuden#temari#テマリ#coser
@RsRamble · Post #542 · 21.05.2024 г., 15:12
套了妹抖服,所以一眼没认出来 是何种新型时尚潮流嘛 原神的神里绫华 拍摄于Doujima D2 (2024-05-12) #singapore#suntec#doujima#doujima2024#doujimasg#genshinimpact#原神#kamisatoayaka#ayakakamisato#神里綾華#coser
@RsRamble · Post #533 · 17.05.2024 г., 09:22
可能他看着并不像菊里,但他真的会弹贝斯 而且拿的真的是某种清酒……的空罐子 满血复活,对酒当歌是吧 孤独摇滚的广井菊里 拍摄于Doujima D1 (2024-05-11) #singapore#suntec#doujima#doujima2024#doujimasg#btr#bocchitherock#ぼっちざろっく#hiroikikuri#kikurihiroi#廣井きくり#coser