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

Резултати

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

Пребарај: #fascisti

当前筛选 #fascisti清除筛选
Savino Balzano

@savinobalzano · Post #760 · 30.09.2024 г., 18:46

https://x.com/SavinoBalzano/status/1840822838539792646?t=KVwQNGqRcSv5UboLylRrbQ&s=19 Il vero #fascista è quello riflesso nello specchio di chi non accetta il risultato del voto popolare. Come da copione, la #stampa e l'#informazione in generale hanno cominciato a sventolare lo spauracchio dell'#OndaNera in #Austria, appena reso noto l'esito delle #elezioni. Mi sento di porre una domanda semplicissima: com'è successo che, improvvisamente, i popoli europei siano diventati tutti #fascisti e #nazisti? È una ricostruzione verosimile? Ovviamente no: è ridicolo. La gente si è semplicemente rotta le palle delle tecnocrazie che in combutta con l'#UE affamano i popoli: tutto ciò che è pubblico nel nostro Paese avvizzisce e di certo non sarebbe serio attribuirne la responsabilità al #governo in carica. Io dico solo questo: denunciano il pericolo del ritorno degli autoritarismi quando forze politiche che competono legittimamente ottengono un risultato positivo e, viceversa, non evidenziano la palese forzatura autoritaria quando #Macron, a dispetto del risultato elettorale sfavorevole, incarica gli amici suoi di guidare il governo. In vibrante attesa di toccare il fondo.

Savino Balzano

@savinobalzano · Post #883 · 02.02.2025 г., 11:30

https://x.com/SavinoBalzano/status/1886014215762121043?t=gQ1Hwrs7_jbdz8Ncd8gLzw&s=19 Dopotutto, se ci pensate anche solo un attimo, per risolvere questo casino basterebbe una cosa semplicissima: mandare a casa il Governo e sostituirlo con una maggioranza allargata, di "responsabili", con dentro il #PD. Ogni crisi istutuzionale verrebbe di colpo superata: è piuttosto sospetto. Non vi pare? Le ipotesi sono due e due soltanto: le propongo in chiusura. C'è veramente poco da dire: tutte le fasi più complicate nell'azione dell'attuale #Governo vedono coinvolta la #Magistratura. L'abbiamo visto ad esempio col folle processo a #Salvini su #OpenArms, conclusosi perché il fatto non sussiste. Attenzione: non perché il fatto non costituisce reato o per insufficienza di prove, bensì perchè il fatto non sussiste, non esiste. L'ipotesi accusatoria era del tutto campata in aria. Lo vediamo oggi con le indagini su #Meloni, #Piantedosi, #Nordio e #Mantovano: il premier, il suo vice e due ministri di primissimo piano indagati nello stesso momento. Francamente non ricordo un caso analogo. #Favoreggimento e #Peculato: se di favoreggiamento si è trattato, allora non si comprende perché non coinvolgere anche i giudici che hanno disposto la scarcerazione di #Almasri, ad esempio; sul peculato, invece, meglio un velo pietoso, dal momento che dovremmo ipotizzare che gli indagati si siano "intascati" un aereo di Stato. Tutti, davvero tutti, ammettono che le ipotesi di reato siano semplicemente inverosimili: peccato che al contempo qualcuno continui a farneticare di #AttoDovuto. Sul modello Albania, assunto come ispiriazione dall'#UE e pure dai socialisti di mezzo continente, siamo in pieno stallo: anche in questo caso coinvolta è la magistratura, i giudici, sempre loro. Sia chiaro: ogni valutazione politica è legittima e benvenuta, che riguardi la liberazione di quel porco di Al-Masri, e dunque la sussistenza o meno della ragione di Stato, come pure quella sui centri di accoglienza in Albania. La sede deputata a tali processi dialettici, però, resta il #Parlamento: non un tribunale o l'ufficio di un pubblico ministero con la smania da protaginista. E allora le ipotesi restano soltanto due, come accennavo: - la prima è che questo Governo nutra davvero una vocazione autoritaria, #fascista, e dunque stia operando una torsione istituzione con lo scopo di trasformare l'#Italia, conducendola verso approdi antidemocratici. Dinanzi a tale intendimento, la magistratura eroicamente starebbe resistendo; - la seconda è che la #politica continua a essere ostaggio di vincoli esterni di varia natura, che si oppongono a determinati cambiamenti facendo saltare il tavolo. A voi cosa sembra più plausibile? Vi sembra davvero di vivere da due anni in un paese meno libero e meno democratico? Io registro due cose: - qualcuno ritiene di potersi sostituire a una opposizione inguardabile; - qualcuno, forse gli stessi, desidera conservare a tutti i costi una primazia sulla politica e sulla volontà popolare e, pur di riuscirvi, è pronto a scardinare ogni garanzia costituzionale e ad abbattere ogni argine a tutela della separazione dei poteri. Ma i #fascisti siamo noi.