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

Резултати

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

Пребарај: #iluminacion

当前筛选 #iluminacion清除筛选
Chollos by SaveMoney.es

@savemoney_es · Post #173691 · 13.05.2026 г., 20:51

👌 B.K.Licht - Lámpara LED de techo con luz indirecta, plana, luz blanca neutra, IP44, panel, lámpara LED, lámpara de techo, lámpara de baño, lámpara de salón, lámpara de cocina, 98 x 20 x 3 cm, negro 💬#Amazon#Prime#Iluminacion ✅OFERTA: 25.99 €🔥🔥🔥 ❌ Antes: 39.99 € 💶 Amazon: tly.es/lan-Awb 👁️ Visto en @savemoney_es

Chollos by SaveMoney.es

@savemoney_es · Post #173523 · 09.05.2026 г., 19:01

👌 KARE Design lámpara de pie Nature Straight, Estilo casa de Campo, lámpara de salón, lámpara para Dormitorio, Bombilla no incluida, 171x52x52cm 💬#Amazon#Prime#Iluminacion ✅OFERTA: 321.6 €🔥🔥🔥 ❌ Antes: 689 € 💶 Amazon: tly.es/GxcWEwl 👁️ Visto en @savemoney_es

Chollos by SaveMoney.es

@savemoney_es · Post #173456 · 08.05.2026 г., 12:28

👌 B.K.Licht - Lámpara LED de techo con luz indirecta, plana, luz blanca neutra, IP44, panel, lámpara LED, lámpara de techo, lámpara de baño, lámpara de salón, lámpara de cocina, 98 x 20 x 3 cm, negro 💬#Amazon#Prime#Iluminacion ✅OFERTA: 25.99 €🔥🔥🔥 ❌ Antes: 39.99 € 💶 Amazon: tly.es/lan-Awb 👁️ Visto en @savemoney_es

Chollos by SaveMoney.es

@savemoney_es · Post #172986 · 25.04.2026 г., 08:03

👌 BRILONER - Sistema de carriles Luxtrail set de prolongación, 2x LED spots, extensible, orientable, lámparas, sistema de carriles techo, carril proyector, 1m, negro 💬#Amazon#Prime#Iluminacion ✅OFERTA: 29.67 €🔥🔥🔥 💶 Amazon: tly.es/X8OXa7f 👁️ Visto en @savemoney_es

Bricolaje y ferretería

@bricolaje_ferreteria · Post #51 · 19.11.2022 г., 11:23

Tipos de LED: 7 consejos para escoger la bombilla perfecta para tu casa La tecnología LED es mucho más eficiente para la iluminación de lo que eran las bombillas incandescentes, pero también son más versátiles. Esta mejora de las prestaciones en las bombillas hace que tengamos muchas más opciones entre las que elegir... Leer más#iluminacion#led

Chollazo Exprés 🔥 Ofertas y Descuentos

@ChollazoExpres · Post #5516 · 04.01.2026 г., 20:00

💥Lámpara Reality R1107-03 Leuchten Ilumina tu hogar con estilo esta Navidad ✅OFERTA: 75.85€ ❌ Antes: 138.48€ 💰Ahorras un 45%🔥 Ambienta tus espacios con luz cálida y elegante 👉 Descubre cómo transformar tu casa #iluminacion#lamparas#decoracionhogar#ofertas#hogar#navidad 🛰️Oferta publicada en Moda y Belleza

Chollazo Exprés 🔥 Ofertas y Descuentos

@ChollazoExpres · Post #5216 · 25.12.2025 г., 12:30

💥Bombilla LED Mate Philips Eficiente Ilumina tu hogar con calidez navideña ✅OFERTA: 5.37€ ❌ Antes: 8.66€ 💰Ahorras un 38%🔥 Ahorra energía y disfruta de una luz cálida y acogedora 👉 Haz brillar tu hogar esta Navidad #philips#bombillaled#iluminacion#eficienciaenergetica#hogar#luzcalida#navidad#ofertas 🛰️Oferta publicada en Hogar