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

Резултати

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

Пребарај: #monasteriotrinidad

当前筛选 #monasteriotrinidad清除筛选

🇷🇺El legado de San Sergio: el monasterio más sagrado de Rusia En el paisaje sereno de Sérguiev Posad, a unos 70 kilómetros al noreste de Moscú, se encuentra uno de los lugares más sagrados y emblemáticos de la historia rusa: el Monasterio de la Santísima Trinidad y de San Sergio, conocido como la Lavra de la Trinidad. Este complejo monástico no solo es un centro espiritual de la Iglesia Ortodoxa Rusa, sino también un tesoro arquitectónico y cultural que ha resistido siglos de historia turbulenta. Fundado en 1337 por San Sergio de Rádonezh, una de las figuras religiosas más veneradas en Rusia, el monasterio comenzó como una humilde comunidad de oración en medio del bosque. Con el tiempo, se transformó en una poderosa institución religiosa, educativa y política, especialmente durante el período del Zarismo. En el siglo XV, recibió el título de "Lavra", una distinción reservada para los monasterios más importantes del mundo ortodoxo. La arquitectura del monasterio es una mezcla fascinante de estilos rusos medievales, barrocos y neoclásicos. Su joya principal es la Catedral de la Santísima Trinidad, construida en 1422, donde descansan los restos de San Sergio. El interior está decorado con frescos y un iconostasio dorado que incluye obras de Andréi Rubliov, el más célebre iconógrafo ruso. También destacan la Catedral de la Asunción (siglo XVI), la Iglesia del Espíritu Santo y la Torre del Campanario, que con sus 88 metros de altura domina el horizonte de la ciudad. Además de su valor religioso, el monasterio alberga un museo que conserva manuscritos antiguos, objetos litúrgicos, vestimentas ceremoniales y arte decorativo de gran valor. Estos tesoros permiten entender la evolución del arte sacro ruso y su influencia en la cultura nacional. Durante la invasión napoleónica en 1812 y la Revolución de 1917, el monasterio fue testigo de momentos críticos. Cerrado por el régimen soviético en 1920, fue convertido en museo estatal. No fue hasta 1946 que se reabrió como centro religioso, y en 1993 fue declarado Patrimonio de la Humanidad por la UNESCO. Hoy, la Lavra de la Trinidad sigue siendo un lugar de peregrinación, estudio y contemplación. Su historia, arte y espiritualidad lo convierten en un destino imprescindible para quienes desean comprender el alma profunda de Rusia. #HistoriaRusa#ArteOrtodoxo#PatrimonioUNESCO#ArquitecturaRusa#MonasterioTrinidad Apóyanos pulsando👉'BOOST'👈 🖥https://vamosarusia.com 💬@vamosarusia