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

Пребарај: #tomasomontanari

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

@savinobalzano · Post #907 · 24.02.2025 г., 16:28

https://x.com/SavinoBalzano/status/1894061421190959459?t=Ci7rwYNRnb91AyjmfQCXig&s=19 Sono pochi secondi, ascoltateli: vi prego! Vi prego, lo so che è dura, ma ascoltate queste poche parole di #TomasoMontanari. Ovviamente #Trump & co. sono fascisti e solite menate deliranti, ma attenzione perché stavolta ha deciso, bontà sua, di fornire una definizione di tal #fascismo. Tra le caratteristiche ci sono le libertà di qualcuno a discapito di altri (e ci potrebbe stare), ma poi gli scappa proprio "la libertà di non vaccinarsi". Ascoltatelo, vi prego, ascoltatelo! "La libertà di non vaccinarsi" paragonata a quella di "portare le armi" o al suprematismo bianco. Io penso che @tomasomontanari dovrebbe vergognarsi e trovo le sue parole davvero schifose, disgustose: il mio è un giudizio politico, ovviamente, ma da italiano mi imbarazza il fatto che certe follie possano essere partorite dalla testa di chi ricopre ruoli di tale importanza nel mondo accademico. Questa gente afferma le peggiori nefandezze, alimenta l'odio più profondo, infiocchettando la violenza con l'eleganza salottiera di certi circoli: non risponde mai di quanto dice. E se accade che, talvolta, li si chiami ad assumersi la responsabilità per lo schifo (politico) che generano, allora urlano al regime, alla dittatura, al golpe autoritario. Sostenere che la libertà di non vaccinarsi (peraltro varrebbe la pena di rileggere il testo della seconda parte dell'articolo 32 Cost.) sia fascista, dimostra quanto infimo sia il vostro #antifascismo, quanto sia grottesco, falso e modaiolo: l'antifascismo è una roba seria e non può essere rappresentato da certi individui. Antifascismo è accoglienza, comprensione, accettazione dell'altro, rispetto delle idee e dei timori altrui. Ecco perché, da persona che ogni cazzo di anno fa il vaccino antinfluenzale, provo una nausea incontenibile per quelle parole: pretendo il rispetto dell'altro, di quello che decide di fare diversamente da me, di quello che pensa che la mia scelta sia da coglioni. Di questo rispetto voi siete incapaci perché la #democrazia la odiate e la odiate perché democrazia significa rapporto con la gente, sostegno della gente, e voi siete pateticamente soli (politicamente, s'intende). I fascisti veri siete voi.

Savino Balzano

@savinobalzano · Post #1230 · 09.12.2025 г., 14:11

https://x.com/SavinoBalzano/status/1998394505398046769?t=_7-A2hwb0byAhp_Lw7UFDQ&s=19 Oggi vi parlo della Legge Ferrea Legge dei Sinistri: «dicesi sinistro colui il quale, indicata la via da intraprendere, induce le masse a imboccare quella opposta». Che in effetti, a pensarci bene, è esattamente il contrario di quello che un tempo faceva la #sinistra: quando parlava Berlinguer, parlava Berlinguer. Quando parlano i sinistri, la gente digrigna i denti e si tappa le orecchie, disturbata. Gli intellettuali dovrebbero anticipare i tempi, spiazzare, sorprendere: mai essere banali. Prendete #TomasoMontanari: quello che dice è prevedibile cento puntate prima che apra bocca. Gli intellettuali dovrebbero essere sintonizzati con la gente, capirla, raccontarle la realtà. Cosa fa invece #Montanari? Ogni giorno, in una trasmissione diversa, in prima serata, ti ripete che al governo ci sono i fascisti e che non siamo più in democrazia. Indovinate qual è la casa editrice che ha visto esplodere le vendite ultimamente? Non si sfugge, ragazzi miei: è la legge ferrea dei sinistri. Il regalo più grande che si potesse fare a Giorgia #Meloni. #BattitoriLiberi: dal lunedì al venerdì alle 17, su Radio Cusano.