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

Пребарај: #sanbasilio

当前筛选 #sanbasilio清除筛选

🇷🇺San Basilio: La catedral que Iván el Terrible convirtió en leyenda En pleno corazón de Moscú, justo en la Plaza Roja, se alza una de las construcciones más icónicas y enigmáticas de Rusia: la Catedral de San Basilio. Sus cúpulas coloridas en forma de bulbo parecen sacadas de un cuento, pero detrás de su belleza hay siglos de historia, poder y misterio. La catedral fue mandada construir por el zar Iván IV, más conocido como Iván el Terrible, en 1555. ¿La razón? Celebrar la victoria sobre el Kanato de Kazán, una conquista que expandió el territorio ruso y consolidó el poder del zar. El templo fue consagrado en 1561 y originalmente se llamó “Catedral de la Intercesión de la Virgen junto al Foso”. El nombre popular de San Basilio se debe al santo ortodoxo Vasili el Bendito, cuya tumba se encuentra en una de las capillas laterales. El diseño arquitectónico es tan único que no tiene paralelo en Rusia ni en Europa. Se compone de nueve capillas independientes, cada una con su propia cúpula, construidas sobre una base común. El arquitecto responsable fue Póstnik Yákovlev, aunque algunas fuentes mencionan que trabajó junto a Iván Barma. La leyenda más famosa dice que Iván el Terrible mandó cegar a los arquitectos para que nunca pudieran replicar una obra tan hermosa. Aunque no hay pruebas históricas de esto, el mito ha perdurado por siglos. Durante el siglo XVIII, la catedral sufrió un gran incendio en 1737 que dañó seriamente su estructura. Las restauraciones posteriores, especialmente entre 1770 y 1780, modificaron algunos elementos interiores y decorativos. En el siglo XIX, se añadieron las famosas cúpulas bulbosas, cada una con un diseño distinto, pintadas a mano y reforzadas con estructuras metálicas que les dan su forma de jaula. A pesar de su cercanía al Kremlin, San Basilio no forma parte de él. De hecho, durante la era soviética, estuvo a punto de ser demolida por órdenes de Stalin, quien consideraba que estorbaba en los desfiles militares. Afortunadamente, el arquitecto Pyotr Baranovsky se negó a cumplir la orden y logró salvarla. Hoy, la catedral funciona como museo y ocasionalmente como templo ortodoxo. En 2007 fue elegida como una de las “7 maravillas de Rusia” y sigue siendo uno de los destinos turísticos más visitados del país. Su arquitectura mezcla influencias bizantinas, asiáticas y rusas, y su historia está llena de simbolismo religioso, político y cultural. #SanBasilio#HistoriaRusa#ArquitecturaMoscú#PlazaRoja#CulturaRusa Apóyanos pulsando👉'BOOST'👈 🖥https://vamosarusia.com 💬@vamosarusia