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

Пребарај: #umanesimo

当前筛选 #umanesimo清除筛选
Elena Basile Public Channel

@elenabasilepublicchanel · Post #106 · 05.07.2024 г., 08:59

La lobby di Israele condiziona la stampa internazionale e la politica statunitense. La verità, cara Senatrice, non è mai antisemita. La stimo molto anche per il suo lavoro nelle scuole con l’intento di insegnare come nasce l’antisemitismo, come nascono i crimini razzisti. Come scriveva Primo Levi, un lager nasce quando c’è un’ingiustizia e si volta la testa dall’altra parte. Spero che queste parole che le rivolgo non siano nuovamente considerate uno scandalo. Senatrice crede veramente che io possa essere antisemita? Eppure mi ha querelato penalmente per istigazione all’odio e ne sono ancora esterrefatta. Vede, cara Senatrice, se la parola antisemita diviene uno strumento per colpire il ragionamento o la denuncia dei crimini israeliani, essa perde significato e rischia di fomentare la rabbia (ingiustificata e deprecabile) contro gli ebrei. Vorrei tanto che lei, una così alta espressione della comunità ebraica, facesse chiarezza e denunciasse le ingiustizie odierne, l’odio verso gli islamici che a mio avviso cresce nelle società occidentali in modo inquietante, le discriminazioni verso i migranti torturati e ricacciati nei loro campi di detenzione dai Governi di destra come da quelli del centro-sinistra, il dolore dei Rom da sempre esistito e ancora dimenticato. Non c’è modo migliore di rendere omaggio all’appartenenza a una gloriosa diaspora ebraica, a un’intellighenzia a cui dobbiamo tanta parte della cultura umanistica odierna, che chiedersi chi siano gli ebrei di oggi. Cara Senatrice, lei non ha nessun bisogno di lasciare questo Paese. Lei è amata e protetta. I rom no, i migranti no, i musulmani no. Se leva la sua voce a vantaggio degli ultimi della terra renderà un grande servizio, riducendo quelle sacche di razzismo e antisemitismo che permangono. Faccia chiarezza Senatrice! Aiuti la ragione per impedirne il sonno. I giovani che protestano per la Palestina sono coloro che hanno appreso la lezione che lei insegna nelle scuole. Non li allontaniamo. E non mi ritenga sua nemica soltanto perché oso parlarle apertamente. Maria Teresa di Lascia, vincitrice con un magnifico libro “Passaggio in Ombra” del Premio Strega quando il premio era un premio letterario, militante dell’eroico Partito di Pannella quando era il partito dei diritti civili e della protezione dei deboli, affermava che non vi era nessuno così nemico da negargli una discussione, un litigio. Dialogare è aprirsi e rispettare il prossimo per quanto diverso da noi. Recuperiamo l’umanesimo cristiano e ebraico quale vero margine contro le destre razziste che un po’ dappertutto si affermano con la complicità del falso liberalismo odierno. ~~~~~~~~~~~~~~~ Questo post è stato pubblicato il 4 luglio 2024 sia sulla rivista online “La fionda” che sul quotidiano “Il giornale d’Italia”. #GazaGenocide #Meloni #segre #umanesimo