@limnosdsstation · Post #10847 · 03.04.2026 г., 19:54
#VRchat#shinano https://x.com/Mona4869_VRC/status/2039640037730705513 Mona4869_VRC : シナ…シナ…
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
Пребарај: #shinano
@limnosdsstation · Post #10847 · 03.04.2026 г., 19:54
#VRchat#shinano https://x.com/Mona4869_VRC/status/2039640037730705513 Mona4869_VRC : シナ…シナ…
@limnosdsstation · Post #10631 · 20.03.2026 г., 15:31
https://x.com/oouu_vrc/status/2033893209357914551 おゆ : 水彩っぽい、ふわっとそばかすメイク描いてます✏️ #VRchat#Shinano
@limnosdsstation · Post #10583 · 15.03.2026 г., 16:19
#VRchat#shinano https://x.com/inui_VRC/status/2033109566041530389 inuı̣🐾 :
@limnosdsstation · Post #10478 · 08.03.2026 г., 09:45
#VRchat#shinano https://x.com/VRCkure_jp/status/2030137073261498612 繰🇯🇵🍄 : 埋まりたい
@limnosdsstation · Post #10414 · 04.03.2026 г., 11:12
#VRchat#shinano https://x.com/yksk_vrc/status/2028783248797798807 よこすか : 釣りしてたらおもろい人いてひっくり返った *本来兴致勃勃打算钓鱼,结果发现鱼竿和渔具全忘带了,正陷入绝望、大脑放空发呆中的Shinano酱.png
@limnosdsstation · Post #10391 · 04.03.2026 г., 11:11
#VRchat#shinano https://x.com/rabbit33330/status/2028955798781698314 🐰🎀らび🦋𓈒𓏸 : おはよ〜☀️🏝 釣り楽し〜🎣
@limnosdsstation · Post #10309 · 01.03.2026 г., 16:17
https://x.com/rtms_c/status/2027754661885972525 ritomasu : #VRchat#Shinano
@limnosdsstation · Post #9726 · 25.01.2026 г., 08:45
#VRchat#shinano https://x.com/MrSauce_VRC/status/2014480049253019812 MrSauce! ⭐️ : Shinano's face tracking is out now!! 💙 Like ❤️ Repost 🔁 Follow 🫂 ...for a chance to win a free copy! Winners announced on Monday 🏆
@astroknightshop · Post #33301 · 04.03.2026 г., 16:33
КОВРИК ДЛЯ МЫШИ | ОФИЦИАЛЬНЫЙ МЕРЧ | AZURLANE 🌟Персонажи: 🌟 Shinano 🌟Детали: ⭐ Товар ЛИМИТИРОВАН, продажи будут до 12 МАРТА ⭐Предпродажа, отправка на склад в течение 200 дней ⭐Размеры: 80х40 см ⭐Материалы: каучук 🌟Цена: 2250 🌟 (рублей) 🌟Доставка: 🅰️ Цена указана С УЧЕТОМ доставки ДО РФ 🌟Обратная связь: ⁉️Вопросы о доставке, оплате и тд. 👀Отзывы 🌟Купить: 🅰️@astroknight_bot 🅰️ С реальными менеджерами #AzurLane@astroknightshop #Shinano@astroknightshop
@limnosdsstation · Post #9723 · 25.01.2026 г., 08:44
#VRchat#kipfel#shinano https://x.com/vrcLuu/status/2014345850844229846 Lu : 리필이요
@limnosdsstation · Post #10070 · 13.02.2026 г., 08:50
#VRchat#shinano#chocolat 𝕏: Kuroki_VRC
@limnosdsstation · Post #10891 · 03.04.2026 г., 19:57
#VRchat#shinano#利岛时刻 来自群友——Banai Jinyuki