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

Резултати

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

Пребарај: #numero700

当前筛选 #numero700清除筛选
Ganar Dinero Seguro

@ganardineroseguro · Post #1237 · 21.10.2025 г., 16:09

📱 ¡RECARGA ETECSA X5 VIGENTE! 📱 🔥 Hasta el 26 de octubre 💰 $23.99 (GOLD: $23.49) ✅ 600 CUP → 3,000 CUP (x5) ✅ Internet ilimitado de madrugada 🎊 NÚMEROS TERMINADOS EN 700: 👑 GOLD GRATIS por 30 días 🎁 ¡NUEVO: SORTEOS DIARIOS DE GOLD! 🎁 🎲 Cada día sorteamos planes GOLD de forma aleatoria a los que recarguen. ¡Suerte! 🍀 🚀 Recarga: https://qvapay.com/mobile-top-up #QvaPay#RecargaX5#ETECSA#SorteosGOLD#Numero700#Cuba#OfertaVigente ⚡️Boost | 📱Twitter | 📱Instagram 🌟TrustPilot | ↔️Ofertas | 🤖Bot

Ganar Dinero Seguro

@ganardineroseguro · Post #1235 · 20.10.2025 г., 00:00

🚀 ¡RECARGA ETECSA X5 + REGALO ESPECIAL! 🚀 📱 DEL 21 AL 26 DE OCTUBRE 🔥 ¡QUINTUPLICA TU SALDO! 💰 Precios especiales: • Usuarios regulares: $23.99 • 👑 Usuarios GOLD: $23.49 🎁 ¿Qué recibes? ✅ 600 CUP recargados X5 - ¡3,000 CUP de saldo! ✅ Internet ilimitado de madrugada 🌙 ✅ Proceso instantáneo y seguro ✅ Soporte 24/7 disponible 🎊 ¡CELEBRACIÓN 700K OPERACIONES P2P! 🎊 🎁 REGALO ESPECIAL: Si tu número de teléfono termina en 700, ¡tienes un REGALO! 🎉 👑 PLAN GOLD GRATIS POR 30 DÍAS 👑 ✨ Ejemplo: • 5X XXX-XXXX-700 → ¡GOLD GRATIS por 1 mes! 💎 Beneficios GOLD que recibirás: • Descuentos exclusivos en todas las recargas • Cashback en operaciones • Prioridad en soporte • Acceso a promociones especiales • ¡Y mucho más! ⚡ ¡Solo 6 días de oferta! 🎯 Ejemplo de lo que obtienes: • Pagas: $23.99 (o $23.49 si eres GOLD) • Recibes: 3,000 CUP de saldo • BONUS: Internet ilimitado de madrugada • EXTRA: Si tu número termina en 700 → GOLD gratis x 30 días 💡 ¿Tu número termina en 700? ¡Recarga ahora y reclama tu mes GOLD GRATIS! Es nuestra forma de celebrar las 700,000 operaciones P2P contigo. 🎊 🚀 Recarga AHORA: https://qvapay.com/mobile-top-up #QvaPay#RecargaX5#ETECSA#700Celebracion#GOLDGratis#Cuba#Octubre2025#InternetIlimitado#OfertaEspecial#Numero700#Hito700K ⚡️Boost | 📱Twitter | 📱Instagram 🌟TrustPilot | ↔️Ofertas | 🤖Bot