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

Резултати

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

Пребарај: #sattanino

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

@savinobalzano · Post #967 · 05.04.2025 г., 07:29

https://x.com/SavinoBalzano/status/1908420590513336802?t=qcol10l3x0ENVpq5ZRixrg&s=19 AVANTI IL PROSSIMO! La nostra rubrica oggi ospita #MariolinaSattanino: benvenuta Mariolina e grazie per aver deciso di partecipare al nostro format. Allora, cosa ci hai portato? che ci fai ascoltare? Ah una barzelletta, che brava. Ci piacciono tanto le barzellette: prego, prego! «non mi sta bene chi considera il pacifismo una forma di "lasciateci in pace che così continuiamo a farci i fatti nostri e a non pagare le tasse"». Oggi è sabato, non mi voglio arrabbiare, però penso sia utile un bel passaggio del tanto amato #ManifestoDiVentotene che probabilmente ci aiuterà a comprendere da dove la nostra ospite #Sattanino ha tratto ispirazione: «occorre fin d’ora gettare le fondamenta di un movimento che sappia mobilitare tutte le forze per far sorgere il nuovo organismo, che sarà la creazione più grandiosa e più innovatrice sorta da secoli in Europa; per costituire un largo stato federale, il quale disponga di una forza armata europea al posto degli eserciti nazionali, spazzi decisamente le autarchie economiche, spina dorsale dei regimi totalitari, abbia gli organi e i mezzi sufficienti per fare eseguire nei singoli stati federali le sue deliberazioni, dirette a mantenere un ordine comune». Forse a questo serve davvero l’esercito comune: a farci pagare le tasse, ad esempio. Sullo sfondo della sua battuta c'è la solita (avevo promesso di non arrabbiarmi, mi fermo un attimo a respirare e mi modero) antipatia verso l'Italia e verso gli italiani. I peggiori antitaliani ce li abbiamo qui, dentro casa nostra. L'idea cioè che tutti in #Europa si fanno il mazzo, mentre noi beviamo, andiamo a donne e suoniamo il mandolino. Vorrei ricordare a Mariolina che il suo Paese è storicamente, da sempre, in avanzo primario: al netto degli interessi sul debito (che i rigorosi alla Monti e Draghi avrebbero dovuto abbattere), spendiamo meno di quanto raccogliamo. Non odi il suo Paese e i suoi concittadini: siamo molto più virtuosi di quanto si dica in giro per la sua amata #UE. A proposito di difesa, si sarà lasciata convincere da Rutte, l'attuale Segretario Generale della #Nato, che nel 2020, da premier olandese, prometteva ai suoi operai che non avrebbe dato un centesimo all'#Italia. Trascurando peraltro il fatto che il nostro Paese è uno dei contributori netti al bilancio dell'Unione Europea: diamo più di quanto riceviamo. Insomma Mariolì, rilassati e sorridici: non siamo poi così male.

Savino Balzano

@savinobalzano · Post #1067 · 25.06.2025 г., 10:52

https://x.com/SavinoBalzano/status/1937825791087185982?t=2bajeoer0lQb2S5BtOXnkg&s=19 Desidero esprimere la mia più totale e profonda solidarietà a #MassimoCacciari. Per carità, ogni tanto si scalda, si innervosisce, ma di fronte a certe affermazioni chiunque salterebbe letteralmente dalla sedia. Ieri sera siamo stati costretti ad ascoltare l’ultima trovata. Tal #Sattanino ci spiega che, se l’#Europa vuole difendere il welfare, deve stare attenta a #Putin. Avete capito bene: per tutelare la scuola, la sanità, la ricerca, l’università, il trasporto pubblico, le pensioni — insomma, lo Stato sociale — servono i carrarmati. Dopo l’argomento mistico-religioso — ve lo ricordate? Quello per cui il riarmo era necessario perché ce lo chiedeva Gesù — oggi ce ne propongono uno nuovo, questa volta con un volto laico: vuoi che i tuoi figli possano contare sul #welfare? Bene: taglialo per finanziare la difesa… da un nemico immaginario. È come se dicessi a mio figlio che non posso garantirgli i libri per la scuola perché ho speso quei soldi per comprargli una mazza, così potrà difendersi dal lupo cattivo. Il ragionamento è esattamente lo stesso. Ma non era il lupo a disturbare Pinocchio mentre andava a scuola. Quelli erano due lestofanti, il gatto e la volpe. Mi pare. E allora, caro #Cacciari, intanto spero che le paghino profumatamente queste partecipazioni televisive, perché sono certo che le costino moltissimo. E poi, le rinnovo tutta la mia vicinanza umana, la mia empatia e – se mi permette – anche la mia similpatia. Perché c'era solo da bestemmiare in diretta.

la fionda📗

@lafionda · Post #6287 · 25.06.2025 г., 11:09

https://x.com/SavinoBalzano/status/1937825791087185982?t=2bajeoer0lQb2S5BtOXnkg&s=19 Desidero esprimere la mia più totale e profonda solidarietà a #MassimoCacciari. Per carità, ogni tanto si scalda, si innervosisce, ma di fronte a certe affermazioni chiunque salterebbe letteralmente dalla sedia. Ieri sera siamo stati costretti ad ascoltare l’ultima trovata. Tal #Sattanino ci spiega che, se l’#Europa vuole difendere il welfare, deve stare attenta a #Putin. Avete capito bene: per tutelare la scuola, la sanità, la ricerca, l’università, il trasporto pubblico, le pensioni — insomma, lo Stato sociale — servono i carrarmati. Dopo l’argomento mistico-religioso — ve lo ricordate? Quello per cui il riarmo era necessario perché ce lo chiedeva Gesù — oggi ce ne propongono uno nuovo, questa volta con un volto laico: vuoi che i tuoi figli possano contare sul #welfare? Bene: taglialo per finanziare la difesa… da un nemico immaginario. È come se dicessi a mio figlio che non posso garantirgli i libri per la scuola perché ho speso quei soldi per comprargli una mazza, così potrà difendersi dal lupo cattivo. Il ragionamento è esattamente lo stesso. Ma non era il lupo a disturbare Pinocchio mentre andava a scuola. Quelli erano due lestofanti, il gatto e la volpe. Mi pare. E allora, caro #Cacciari, intanto spero che le paghino profumatamente queste partecipazioni televisive, perché sono certo che le costino moltissimo. E poi, le rinnovo tutta la mia vicinanza umana, la mia empatia e – se mi permette – anche la mia similpatia. Perché c'era solo da bestemmiare in diretta.