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

Пребарај: #tver

当前筛选 #tver清除筛选

🛡️ Tver: El principado olvidado que casi domina la Rus en el siglo XV En la primera mitad del siglo XV, la histórica ciudad de Tver —situada a orillas del río Volga, al noroeste de Moscú— vivió su último gran momento de poder como principado independiente bajo el gobierno de Boris Alexandrovich (1425-1461). Fue una etapa de prosperidad, construcción y diplomacia que muchos rusos recuerdan con nostalgia como un breve destello de grandeza antes de que Moscú impusiera su hegemonía sobre toda la Rus del Norte. 📍Construcción y esplendor urbano Durante el mandato de Boris Alexandrovich, Tver se transformó: se levantó un palacio principesco de piedra dentro del Kremlin —el segundo de este tipo en la región después del de Bogolyubovo— y se erigieron templos y campanarios de piedra que realzaron la importancia espiritual y cultural de la ciudad. Entre ellos: la catedral dedicada a Juan el Misericordioso (1420), las iglesias de San Boris y San Gleb (1438) y del Arcángel Miguel (1455), además de templos en los monasterios de Fedorovsky y Zheltikov. 📈Economía, comercio y aventuras lejanas La ciudad no solo fue muros y catedrales. Su auge económico se apoyó en intensos lazos comerciales y actividad diplomática. Por ejemplo, el famoso viajero Afanasy Nikitin —que emprendió la legendaria travesía hacia India entre 1466 y 1474— partió desde estas tierras, llevando la curiosidad rusa más allá de Asia Central. La presencia del embajador de Tver en el Concilio de Florencia también subraya la ambición internacional del principado. 💍Alianzas dinásticas con Moscú (y tensiones) En 1452, la hija de Boris de Tver, María Borisovna, se casó con Ivan Vasilievich, futuro gran príncipe y luego Iván III de Moscú. Este matrimonio unió temporalmente a dos fuerzas rusas poderosas, pero también marcó el inicio de una relación compleja entre ambos principados. ⚔️El fin de un sueño independiente Mientras Moscú crecía en poder, Tver trató de mantener su autonomía mediante alianzas con Lituania y Novgorod, movimientos que terminaron siendo desventajosos. En 1485, después de semanas de tensión creciente, Iván III movilizó su ejército y ocupó Tver sin grandes combates; el príncipe Mijail Borisovich huyó hacia Lituania, y el principado dejó de existir como entidad política independiente. La caída de de este principado simboliza el paso de la fragmentación feudal a la centralización del estado ruso bajo Moscú. Aunque siguió siendo un centro comercial y cultural relevante en siglos posteriores, su era de independencia terminó aquí, marcando un punto de inflexión en la historia de la Rusia medieval. #HistoriaRusa#Tver#SigloXV#IvanIII#RusMedieval Apóyanos pulsando👉'BOOST'👈 🖥https://vamosarusia.com 💬@vamosarusia