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

Пребарај: #proyectojosue

当前筛选 #proyectojosue清除筛选
Soberanistas

@Soberanistas_ES · Post #1315 · 18.04.2026 г., 12:54

🚨🇦🇷🏔️Una denuncia del periodista e investigador argentino @sebasalgadook de @dataurgente enciende las alarmas en el Cono Sur. Según el periodista, documentos filtrados, el gobierno de Javier Milei estaría facilitando la creación de un enclave de 100.000 hectáreas en el sur argentino: el "Barrio Privado Josué". 📍 El Plan: Un megaproyecto de "comunidad privada" con su propio sistema educativo y económico en tierras patagónicas. 📍 La sospecha: Se denuncia que el proyecto se asienta sobre zonas devastadas por incendios, bajo la excusa de la "recuperación", pero sin debate en el Congreso de la Nación. 📍 El silencio: Salgado advierte que quienes denuncian esta cesión de soberanía están sufriendo persecución por parte de sectores de la "justicia" argentina. ¿A quién representa Milei? Mientras el país atraviesa una crisis económica sin precedentes, este tipo de maniobras plantean una pregunta incómoda: ¿Se está gobernando para el pueblo argentino o para intereses y lobbies sionistas que buscan fragmentar el territorio nacional? Desde la Iberofonía, defendemos que el territorio es la base de la soberanía de las naciones iberófonas. ¿Estamos ante un nuevo tipo de colonialismo del siglo XXI? ¿Debería el Congreso frenar estas maniobras de inmediato 👇 Te leemos en los comentarios. Difunde para que el pueblo argentino sepa lo que pasa a sus espaldas #Iberofonia#Argentina#Patagonia#Milei#ProyectoJosue https://laiberofonia.com/argentina-en-venta-avanzan-los-enclaves-extranjeros-en-su-territorio/