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

Пребарај: #ploshchadrevolyutsi

当前筛选 #ploshchadrevolyutsi清除筛选

🚇🚇 Las esculturas mágicas de la estación Plaza de la Revolución En pleno corazón de Moscú, bajo la Plaza de la Revolución, se esconde una joya arquitectónica que no solo transporta pasajeros, sino también a través del tiempo: la estación 'Plóshchad Revolyutsi' del metro moscovita. Inaugurada el 13 de marzo de 1938, esta estación de la línea Arbatsko-Pokróvskaya es una de las más antiguas y emblemáticas del sistema subterráneo de la capital rusa. A 34 metros de profundidad, su diseño y simbolismo la convierten en un verdadero museo de la era soviética. 🎨 El arquitecto Alexéi Dushkin, conocido por su enfoque artístico en la arquitectura pública, soñaba con una estación iluminada por efectos de luz que dieran ligereza a la estructura. En su proyecto original, propuso instalar reflectores en la base de los pilones para proyectar haces de luz en forma de rombos sobre el techo. Sin embargo, su visión fue modificada por una propuesta más monumental. 🗿 El escultor Matvéi Manízer propuso reemplazar los relieves planeados por estatuas de bronce de cuerpo entero. Aunque Dushkin se opuso, la idea fue aprobada por las autoridades soviéticas, incluido el propio Stalin, quien elogió las figuras por parecer “vivas”. Así nacieron las 76 esculturas que hoy decoran los arcos de la estación, representando al pueblo soviético en distintas etapas entre 1917 y 1937: soldados, campesinos, estudiantes, atletas y pioneros. 📦 Durante la Segunda Guerra Mundial (1941-1945), las esculturas fueron evacuadas a Asia Central para protegerlas de los bombardeos. Regresaron en 1944, intactas, y fueron reinstaladas con un orden cronológico que narra la evolución del ciudadano soviético. Desde el obrero revolucionario con fusil hasta los pioneros con modelos de avión, cada figura cuenta una historia. 🍀 Hoy, la estación no solo es un punto de tránsito, sino también de superstición. Los moscovitas y turistas frotan ciertas partes de las esculturas para atraer la buena suerte. Se dice que tocar el hocico del perro del guardia fronterizo garantiza aprobar exámenes, mientras que el revólver del marinero promete éxito en los negocios. Pero cuidado con el pico del gallo: tocarlo podría romper el hechizo. 🚇 El Departamento de Transporte de Moscú ha pedido a los pasajeros que eviten tocar las estatuas para preservar su estado y el encanto para las futuras generaciones. A pesar de ello, la tradición persiste, convirtiendo a Plóshchad Revolyutsi en un lugar donde la historia, el arte y la magia urbana se entrelazan. #MetroDeMoscú#HistoriaSoviética#ArteUrbano#PloshchadRevolyutsi#CulturaRusa Apóyanos pulsando👉'BOOST'👈 🖥https://vamosarusia.com 💬@vamosarusia