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

Резултати

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

Пребарај: #crocuscityhall

当前筛选 #crocuscityhall清除筛选
EmbajadaRusaVen

@embajadarusaven · Post #1466 · 22.03.2024 г., 20:40

En estas trágicas horas, hemos recibido un gran número de mensajes de apoyo y solidaridad incondicional de nuestros amigos venezolanos. 🙏 Agradecemos profundamente a todos aquellos que no han quedado indiferentes ante este inhumano atentado terrorista. #Rusia#CrocusCityHall

EmbajadaRusaVen

@embajadarusaven · Post #1563 · 30.04.2024 г., 21:35

🕯Hoy cumplen 40 días desde la tragedia en Crocus City Hall donde en un atentado terrorista caeron víctimas 145 personas y más de 550 resultaron heridas. ❌Se ha detenido a doce sospechosos en el caso, diez de los cuales han sido arrestados, entre ellos cuatro participantes directos en el atentado. ❗️El terrorismo es una amenaza común y debe ser combatida conjuntamente. "Los trágicos sucesos ocurridos recientemente en #Crocus han demostrado una vez más la necesidad de intensificar los esfuerzos conjuntos de los especialistas en estos campos y de los legisladores para contrarrestar este mal universal. #Rusia#CrocusCityHall

Noticias de LAD🇷🇺

@LAD_MAERusia · Post #23220 · 31.03.2026 г., 06:07

📣 Por si te lo perdiste, aquí están los puntos clave de la rueda de prensa de la portavoz de la Cancillería de Rusia, María Zajárova(25 de marzo de 2026) 🔹Crisis ucraniana 🔹Aniversario de la masacre de Jatín 🔹Aniversario del ataque terrorista en Crocus City Hall 🔹Presentación del informe “Doctores Mengele del régimen de Kiev” 🔹Situación en Oriente Medio 🔹 Golpes contra sitios culturales e históricos en Irán 🔹 Marcha de Waffen-SS en Riga 🔹 Letonia prohíbe la entrada a los músicos que actuaron en Rusia y Bielorrusia 🔹 El 35º Aniversario de las relaciones diplomáticas entre Rusia y Panamá 📰Leer 📺Ver #MártiresPorLaVerdad ⚡️La Unión Rusa de Periodistas ha publicado el informe "Inconsistencias en el registro público de periodistas asesinados en 2025: un análisis comparativo de los materiales del CPJ, la UNESCO y la FIP". 📄INFORME COMPLETO (en inglés): ( PDF | Telegraph ) #CrímenesDelRégimenDeKiev • El régimen de Kiev elige como objetivos a los más vulnerables de la población civil. La semana pasada, como víctimas del terror de FF.AA. ucranianas alentado por Occidente, fueron afectadas ❗️más de 133 personas, incluso 10 niños. 14 personas fallecieron. #ProhibidoOlvidar • El 22 de marzo se conmemora el trágico acontecimiento de nuestra historia: la destrucción en 1943 de la aldea bielorrusa de Jatín junto con todos sus habitantes. Aquel día fallecieron 149 personas, 75 de ellas eran niños. • La tragedia de Jatín no es el único episodio de la guerra, sino uno de los miles de hechos que muestran la política deliberada de genocidio de la Alemania nazi contra el pueblo soviético multinacional. • El 22 de marzo no es solo #Jatín; el 22 de marzo de 2024 es la tragedia en nuestro país ya en el periodo contemporáneo. Como resultado del atentado terrorista [en el complejo #CrocusCityHall] fallecieron… no quisiera establecer paralelos, 149 personas. En Jatín, el 22 de marzo, fallecieron 149 personas. • Según los resultados de la investigación, el crimen en Crocus City Hall fue planeado y cometido en interés de la actual jefatura de Ucrania con el fin de desestabilizar la situación política en nuestro país. #OrienteMedio#Irán • Nuestra postura principal no tiene cambios. Partimos de que las conversaciones son la única vía razonable para salir de la gravísima crisis en la cual el tándem estadounidense-israelí ha sumido a la región de Oriente Medio y, en esencia, al mundo entero. • Debido a los ataques de EE.UU. e Israel contra Irán, fueron dañados unos sitios culturales incluidos en la Lista del Patrimonio Mundial de la UNESCO. Existe el peligro de que sean destruidos los monumentos más antiguos. Nuestro deber es preservarlos para las generaciones futuras. #BRICS • Apoyamos las prioridades de trabajo del BRICS anunciadas por nuestros amigos de India para el año en curso. Estamos seguros de que, con esfuerzos conjuntos, lograremos llegar a la XVIII Cumbre del BRICS, que tendrá lugar en septiembre de 2026, con logros tangibles. Confiamos en el trabajo continuo en las iniciativas de Rusia, incluso la creación de la infraestructura transfronteriza de pagos, compensación y depósito, así como un mecanismo de sistema de seguros y reaseguros, la Bolsa de Cereales del BRICS y una nueva plataforma de inversiones. #RusiaVietnam • Fue firmado el Acuerdo para la construcción de una central nuclear en Vietnam con el apoyo de Rosatom, el líder mundial en solicitudes de la construcción de plantas de energía nuclear. En 11 países se están construyendo o ya se han construido 41 unidades de energía. #TeatroBolshói • El principal teatro de Rusia, el Teatro Bolshói, celebra su 250° Aniversario. Combinando tradiciones y nuevas tendencias, el Teatro Bolshói representa el arte ruso en las principales escenas internacionales, manteniéndose como un centro de la cultura mundial.