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

Резултати

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

Пребарај: #anker

当前筛选 #anker清除筛选
XP Digital Lab

@rocchl · Post #8216 · 29.12.2025 г., 02:02

Anker 安克推出 Nano USB-C 迷你扩展坞:6 接口设计,自带 4K 60Hz HDMI 口 Anker 安克现已在英国市场推出 Nano USB-C 迷你扩展坞,最高可为笔记本电脑输出 85W 电力, 配备支持 4K 60Hz 视频输出的 HDMI 接口。 而扩展坞背面则带有一个 USB Type-C 上行接头,可为笔记本电脑提供最高 85W 电力,最高支持 10Gbps 传输速度,左侧带有一个 USB Type-C 电源输入接口,最高支持 100W 功率,其二为 HDMI 接口, 最高支持输出 4K 60Hz 视频信号。 标签:#anker Created by RocM 官方频道:@rocCHL 官方群组:@roctech 官方合作:@rocmmbot

Hashtags

XP Digital Lab

@rocchl · Post #7607 · 03.12.2025 г., 03:13

Anker发布了一款全新的桌面扩展坞——13合1 Anker Nano Docking Station。 它最大的亮点是配备可拆卸的USB-C小型集线器,支持独立使用,方便随身携带。 售价约149.99美元,亚马逊Prime会员可享119.99美元优惠,但在多屏显示和性能上有一定限制 标签:#anker Created by RocM 官方频道:@rocCHL 官方群组:@roctech 官方合作:@rocmmbot

Hashtags

Chollazo Exprés 🔥 Ofertas y Descuentos

@ChollazoExpres · Post #6018 · 09.03.2026 г., 13:28

👟 ¡Lunes de chollazos en calzado y tecnología! Empezamos la semana pisando fuerte con las zapatillas Skechers OG 85 Goldn Gurl a mitad de precio (se quedan en 33€) y las Columbia Crestwood también muy rebajadas. Además, no dejes pasar el cargador rápido de Anker de 65W con un 60% de descuento y la elegancia de los pendientes de aro Swarovski. ¡Ah, y tenemos activa una promo brutal de 3x2 en marcas top en Amazon! 🛍️⚡ 👇 Selección del día: 🔥 Skechers OG 85 Goldn Gurl Zapatillas por 33€ (-52% dto) 🔗https://amzn.to/3OZoQST 🔥 Anker Cargador USB C Carga Rapida 65W por 19,9€ (-60% dto) 🔗https://amzn.to/3N6iGzQ 🔥 Zapatillas Columbia Crestwood por 53€ (-33% dto) 🔗https://amzn.to/4s59V8k 🔥 Swarovski Pendientes de Aro por 33€ (-44% dto) 🔗https://amzn.to/4s3fvIm 🔥 IBILI Sarten Indubasic 14 cm por 6,9€ (-56% dto) 🔗https://amzn.to/3P02SPA 🔥 Compra 3 por el precio de 2 ¡Marcas Top! 🔗https://amzn.to/40RWegT #Skechers#Anker#Swarovski#OfertasAmazon#Ahorro