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 слични објави

Пребарај: #especial1k

当前筛选 #especial1k清除筛选
🌷Haditas Estudiosas📋

@apuntes_digitales · Post #5546 · 30.09.2023 г., 16:58

🔑NUEVO RETO🧠 Continuando con nuestra dinámica de #especial1k les traemos el siguiente acertijo Y por supuesto habrá premios para quién lo adivine 😌🎉 aleucse al arap selaicnese senoicacilpa suerte a todos los participantes 🫡

Hashtags

🌷Haditas Estudiosas📋

@apuntes_digitales · Post #5491 · 24.09.2023 г., 20:16

. 💜꒷︶꒷꒥꒷૮꒰˵•ᵜ•˵꒱ა꒷︶꒷꒥꒷💜 🔮Plantillas para Power Point🔮 📍Siguiente entrega de la dinámica por el 1K de subscriptores. 📍Felicitaciones especiales a Haibane ପ( ๑•ᴗ•๑)ଓ 𓆞𓆝 𓆟 y a ⊹ ᮫࣭﹆ֹ🍧°Merlía𓂃✿ por su participación en las adivinanzas, así como buenos resultados logrando descubrir de qué se trataría este especial. ¡Gracias por sus comentarios!#especial1k 💜꒷︶꒷꒥꒷૮꒰˵•ᵜ•˵꒱ა꒷︶꒷꒥꒷💜

Hashtags

🌷Haditas Estudiosas📋

@apuntes_digitales · Post #5486 · 23.09.2023 г., 19:15

•❁• ════ •❃•🍁•❃• ════ •❁• Tips para crear presentaciones en Power Point࿐ 🍂Utiliza para su diseño una combinación de imágenes, figuras prediseñadas, gráficos, recursos y texto. 🐌Elige una paleta de colores armoniosa que dé como resultado una combinación atrapante de patrones. 🕌Emplea fuentes simples y fáciles de leer a simple vista. 🏉Organiza la información de manera clara y coherente en diversos cuadros de texto y gráficos atrayentes a la atención del público o jurado. 🥜 Asegúrate de practicar tu presentación antes de exponerla. 🍪 No sobrecargues las diapositivas. 📜📔Pista para la siguiente dinámica del canal: estará estrechamente vinculada con este post y si unes la primera letra de cada una de las plabras que representan estos emojis sabrás de qué se trata.... (🌱📚🧬🍊👠🧲🦙🧬🧂) (🗡🧽) (🌱😮🍾🧽🌹) (🌱😮🧲🍊👠). No olvides comentar qué crees que será, síguenos para más en@Apuntes_digitales📜📔#especial1k •❁• ════ •❃•🍁•❃• ════ •❁•

Hashtags

🌷Haditas Estudiosas📋

@apuntes_digitales · Post #5520 · 27.09.2023 г., 14:52

﹒⁺🥐﹒minitourpormiobsidian ꒷🧸 ₊ ˚ espero que les guste el vídeo perdonen la transición anticlimática del final 🥲 es la segunda o tercera vez que edito un vídeo en mi vida TT)" 🐿 | @apuntes_digitales 🥧 | #obsidian#especial1k

🌷Haditas Estudiosas📋

@apuntes_digitales · Post #5475 · 21.09.2023 г., 19:33

🌾| como parte del #especial1k les presento una recopilación de playlist de estudio que espero que las disfruten tanto como yo. 🚃| links: https://t.me/dailyplaylistwithsoftvibes/2370 para contenido similar usa #studymusic

🌷Haditas Estudiosas📋

@apuntes_digitales · Post #5454 · 19.09.2023 г., 17:49

𓏲 ✿ 🧺🌷recomendaciones de fuentes para tus apuntes 𓂃 𓏲 ໑ no olvides guardar para usarlos más tarde ! Ahora continuendo con nuestra dinámica de 1k. Espero que hayan podido adivinar los anteriores post 🕵 𓏲✿ Pista del siguiente post: vendrá en contenido multimedia, y simplemente debes responder una pequeña adivinanza ☺️ 𓏲✿ adivinanza: Nos acompaña en momentos tristes, y también en los de alegría sin límites. Es un lenguaje universal, que conecta corazones en un mismo compás. Por el aire la podrás capturar haciendo uso de uno de tus sentidos. [🌷] Para más contenido de productividad y organización: @apuntes_digitales #especial1k#fuentes#recursos