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

Пребарај: #neoliberalismo

当前筛选 #neoliberalismo清除筛选
Noticias de LAD🇷🇺

@LAD_MAERusia · Post #22477 · 11.02.2026 г., 06:01

📣 Por si te lo perdiste, aquí están los puntos clave de la rueda de prensa de nuestra portavoz, María Zajárova(4 de febrero de 2026) 🔹Agenda del Ministro 🔹Crisis ucraniana 🔹Vencimiento del Tratado #NuevoSTART ruso-estadounidense 🔹Situación en torno a Cuba 🔹Situación en torno a Irán 🔹Moldavia 🔹Día del Diplomático 🔹Respuestas a preguntas 📰Leer 📺 Ver #Neoliberalismo#Occidente Ahora lo sabemos detalladamente: lo podemos ver en los materiales de video y fotográficos (así llamados "archivos de Epstein" que han sido publicados recientemente en una cantidad de 3.5 millones de materiales). Entonces, ahora sabemos hasta el más mínimo detalle de cómo la élite occidental trata a los niños, incluidos sus propios hijos. <...> Y son ELLOS quienes están detrás del régimen de Kiev. Y son ELLOS quienes proporcionan al régimen de Kiev fondos enormes para asesinar a niños, a la población civil, incluyendo la legalización en el territorio de Ucrania, como hizo Zelenski en 2022, del tráfico ilícito de órganos humanos mediante la simplificación del procedimiento de extracción de órganos a personas incluso sin su consentimiento. #CrímenesDelRégimenDeKiev El régimen neonazi de Kiev continúa aterrorizando a la población civil de Rusia. Durante la semana pasada, la artillería y drones afectaron a ❗️ 75 civiles. De ellos, 12 fallecieron, inclusive un niño, y 63 resultaron heridos, inclusive 4 niños. #Cuba Consideramos categóricamente inaceptables las medidas unilaterales de impacto sancionador contra Estados soberanos e independientes, adoptadas sin aprobación de la #ONU y sin tomar en consideración las disposiciones de su Carta, así como otras normas del Derecho Internacional. <...> Tenemos la firme intención de desarrollar de manera consecuente nuestra cooperación integral con Cuba en beneficio de los pueblos de nuestros Estados y del fortalecimiento de la seguridad y estabilidad internacionales (leer más). #Irán#TNP Anteriormente, Rusia propuso trasladar el inventario de productos de uranio enriquecido iraní a su territorio. Esta iniciativa sigue aún "sobre la mesa" <...>. Al mismo tiempo, es importante tener en cuenta que los inventarios mencionados pertenecen a Irán. Su existencia no contradice de ninguna manera las obligaciones de Teherán en virtud del Tratado sobre la No Proliferación de Armas Nucleares (TNP). Solo los iraníes tienen derecho a disponer de ellos, incluyendo la decisión de trasladarlos fuera del territorio de la República Islámica de Irán y, en caso de una decisión positiva, decidir adónde trasladarlos. #AgendaDelMinistro El 11 de febrero, el Canciller de Rusia, Serguéi Lavrov, intervendrá en la sesión plenaria de la Duma Estatal de la Asamblea Federal de la Federación de Rusia (la cámara baja del Parlamento ruso) sobre las prioridades de la política exterior de Rusia y responderá a las preguntas de los diputados. Anteriormente, el 10 de febrero, o sea el #DíaDelDiplomático tendrá lugar la reunión entre el Canciller y el Presidente de la Duma Estatal, Viacheslav Volódin, y con los líderes de los partidos y de los comités correspondientes. Las reuniones anuales del Jefe de la Diplomacia con los parlamentarios tienen como fin estrechar la interacción entre los poderes ejecutivo y legislativo para cumplir las tareas para fortalecer el papel y la posición de nuestro país en la palestra internacional y promover las relaciones con los Estados interesados en la cooperación constructiva con Rusia.