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

Пребарај: #protestepacifice

当前筛选 #protestepacifice清除筛选
Marx21.it

@marx21news · Post #9613 · 22.01.2026 г., 14:04

ATTENZIONE: L'Iran denuncia l'interferenza straniera nelle proteste interne Il Ministero degli Esteri iraniano ha rilasciato un rapporto dettagliato che ricostruisce come le recenti proteste, nate da legittime rivendicazioni economiche, siano state deviate verso violenze e disordini da ingerenze esterne, in particolare da parte degli Stati Uniti e del regime sionista. Le origini pacifiche: Le proteste sono iniziate il 28 dicembre 2025 nel Gran Bazar di Teheran, dove commercianti e cittadini chiedevano stabilità economica e misure contro la volatilità valutaria. Erano raduni pacifici e legittimi. La deviazione violenta: Dall'8 gennaio in poi, elementi esterni hanno strumentalizzato queste proteste, trasformandole in episodi di violenza e terrorismo, totalmente scollegati dalle richieste iniziali della popolazione. Interferenze straniere: Il rapporto condanna fermamente le dichiarazioni interventiste del Presidente degli Stati Uniti e del primo ministro del regime sionista, definite palesi violazioni del diritto internazionale e della sovranità iraniana. Queste ingerenze mirano a seminare divisioni e minare la coesione nazionale. Crimini storici: Il documento ricorda i crimini commessi contro il popolo iraniano, come l'abbattimento del volo Iran Air 655 (1988), gli attacchi alle infrastrutture nucleari (giugno 2025) e decenni di sanzioni illegali che colpiscono i diritti fondamentali degli iraniani. Diritti e sicurezza: La Repubblica Islamica ribadisce il suo impegno a tutelare il diritto alla protesta pacifica, garantito dalla Costituzione, ma anche il dovere di proteggere la sicurezza pubblica e di contrastare qualsiasi atto violento che minacci cittadini e società. ⚠️ Il doppio gioco: Mentre il regime sionista si professa "solidale" con il popolo iraniano, lo stesso regime ha attaccato Piazza Tajrish a Teheran nel giugno 2025, causando la morte di civili innocenti. L'Iran è determinato a difendere la propria sovranità e a proteggere i cittadini da ogni forma di violenza e terrorismo, respingendo con forza ogni ingerenza esterna nei propri affari interni. #Iran#Sovranità#NoInterferenze#DirittiUmani#StatiUniti#RegimeSionista#ProtestePacifice#SicurezzaNazionale https://www.marx21.it/internazionale/il-ruolo-degli-stati-uniti-e-del-regime-sionista-nellescalation-della-violenza-durante-le-recenti-proteste-nella-repubblica-islamica-delliran/