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

Резултати

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

Пребарај: #heroine

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

@googlefactss · Post #40467 · 03.01.2026 г., 03:04

Joan of Arc was captured in 1430 during the Hundred Years’ War by the Burgundians, who then handed her over to the English. The preliminary hearings and interrogations in her trial began on January 3, 1431, with the official trial sessions starting on January 9, 1431. She faced charges including heresy and cross-dressing in a politically motivated trial aimed at discrediting her and weakening French morale. Despite her bravery and clear faith, she was found guilty and burned at the stake in 1431 at just 19 years old. Later, she was declared a saint and became a symbol of French unity and courage. ⚔️🔥🙏 [Read more] #JoanOfArc#History#Heroine#MedievalTimes#SaintJoan

小喵的ACG黄油 (重开版)

@xiaomiaogame · Post #2864 · 19.02.2026 г., 08:06

女英雄大乱斗2 女英雄大乱斗 2 Heroine Rumble2 Heroine Rumble 2 官方英文版+MOD 沉浸在《女英雄乱斗2》令人心跳加速的世界中,这是一款激动人心的对战游戏,将唤醒你的原始本能。准备好投入刺激的战斗吧!你可以用海量服装自定义你的角色,并探索超过70种独特的抓取姿势。用蛮力征服敌人,或运用捆绑和束缚等狡猾策略削弱并最终控制他们。利用动态环境,设置陷阱,用诡计困住对手。通过导入和导出角色卡牌,展现你的创意才华,展示你独一无二的作品。参与史诗般的战斗,从激烈的1v1对决到与不同等级的AI对手进行激动人心的多人对战。在本地多人游戏中挑战你的伴侣,释放你的竞技精神,或通过MOD支持探索无限的可能性。 群友 Maborone 自购 投稿 评分 作者 #Enlit3d #PC#ACT#动态#3D#英文 #女英雄大乱斗2#女英雄大乱斗 2 #Heroine Rumble2 #Heroine Rumble 2 下载地址

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