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

Резултати

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

Пребарај: #casa

当前筛选 #casa清除筛选
Savino Balzano

@savinobalzano · Post #347 · 20.03.2023 г., 08:33

La direttiva sulle case green è una fregatura per l'Italia: speriamo che Bonelli questa volta lo capisca al volo, altrimenti farà la stessa figura che ha fatto con Soumahoro. Al pensionato che vive nella casetta del centro storico chi lo paga il cappotino termico? La mia al TG Plus di Cusano Italia TV #green#casa#ue#politica#italia#informazione#televisione

Universe Mysteries 🪐

@cosmomyst · Post #320 · 23.09.2025 г., 22:21

🪐 When the massive star Cassiopeia A ended its life about 11,000 light-years away, it exploded in a spectacular supernova, flinging its outer layers into space and leaving behind a dense, spinning neutron star. The supernova's expanding cloud of debris is still visible today as a bright, colorful remnant, providing astronomers with a real-time laboratory to study the aftermath of one of the universe's most powerful explosions. ✨ #supernova⚡#casA⚡#neutronstar⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries 👉more Channels ​

Yukiokhruner

@yukiokhruner · Post #37 · 08.05.2022 г., 20:10

La canzone "C'è solo la strada" di Giorgio Gaber invecchia terribilmente bene e dopo il 2020 acquista quasi natura profetica. #vaporonda#vaporwave#vapourwave#vaporart#seapunk#webpunk#glitch#glitchart#glitchartistscollective#chillwave#aesthetic#vaporwaveaesthetic#vaporwaveaesthetics#malinconia#melancholy#tristezza#sadness#sadboy#lofi#solitudine#loneliness#isolamento#isolation#casa#home#giorgiogaber

Resinas y mucho mas✨🔥❄️

@resinaymuchomas · Post #186 · 16.12.2021 г., 19:49

🤑Oportunidad única!! Curso Profesional de porcelana líquida 3D ahora en su país! . 😎 Comience 2022 con el pie derecho! . Aprenda en un fin de semana una NUEVA PROFESIÓN con esta innovadora técnica de aplicación de pisos y transforme cualquier ambiente simple en algo extremadamente lujoso. . ✅ Servicio con pronóstico de ALTA DEMANDA en 2022. ✅ Muy poca competencia. ¡Disfrútalo! ✅ Alto margen de BENEFICIO ✅ Excelente oportunidad para montar su negocio en 2022! ❌ Últimas Vacantes en el curso Da clic en en enlace del perfil o en el siguiente 👇🏻👇🏻 Aprovecha el descuento del 50% bit.ly/PISOSENPORCELANATO_DESCUENTO #mesa#porcelanato#encimeras#joyas#mesaderesina#empresario#arquitectura#negociopropio#trabajo#resina#cosasdelacasa#desing#joyasderesina#casa#resinaartist#carpenter#cocinasmoderna#dinero#casalujosa#decoracioninteriores#bhfyp