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

Резултати

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

Пребарај: #integrazione

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

@marx21news · Post #10071 · 30.03.2026 г., 06:40

Una lezione dal Boao Forum: l'Asia ci mostra un'altra strada Mentre il mondo si frammenta, l'Asia costruisce integrazione. Nonostante diversità profonde, la regione ha saputo creare una rete produttiva e commerciale che funziona: dipendenza intra-regionale in crescita, supply chain policentrica, PIL al 50% globale. Cina e ASEAN trainano questo sistema. Non c'è un centro unico, ma complementarità tra paesi diversi. Singapore lo ha detto chiaramente: la Cina può essere il principale sostenitore di un commercio aperto e basato su regole condivise. Europa, guardiamo a questo modello. Siamo abitanti della stessa massa continentale eurasiatica. Forse è lì che va costruito il nostro futuro, non nella logica dei blocchi contrapposti. #BoaoForum#Asia#Integrazione#Geopolitica https://www.marx21.it/internazionale/una-mappa-del-mondo-e-le-nostre-priorita-la-lezione-del-boao-forum/

Savino Balzano

@savinobalzano · Post #331 · 01.03.2023 г., 10:51

Tragedie in mare: colpa dell'Unione Europea. Falsario, qualunquista, populista, demagogo, fascista, complottista: questi gli attributi riservati a chi osa mettere in dubbio l'Unione Europea. Ma cos'è il complottismo se non la fede cieca in istituzioni che per la gente non fanno assolutamente nulla? La mia al TG Plus di Cusano Italia TV #politica#informazione#televisione#italia#immigrazione#migranti#integrazione#UnioneEuropea#europa

Savino Balzano

@savinobalzano · Post #335 · 07.03.2023 г., 09:13

Non sono tra quelli che considerano il Presidente della Repubblica un Moloch: ho trovato le sue parole decisamente parziali. La mia al TG Plus di Cusano Italia TV #informazione#televisione#politica#italia#immigrazione#migranti#accoglienza#integrazione#Mattarella#Presidente

Savino Balzano

@savinobalzano · Post #758 · 26.09.2024 г., 15:22

https://x.com/SavinoBalzano/status/1839324491903856983?t=yXt9pLSue3hw3BPk-HzOjw&s=19 Sapete che c'è? Ho deciso di dare retta a @riccardomagi e voglio sostenere il #ReferendumCittadinanza. In cambio, chiedo a @Piu_Europa di uscire dall'equivoco: siete disponibili a mettere in discussione una volta per tutte le politiche neoliberali imposte dall'#UE? Ve lo domando perché se non mettiamo da parte l'#austerity, il #PareggioDiBilancio, il #PattoDiStabilità e tutta la robaccia che di solito vi manda in brodo di giuggiole, allora sarà semplicemente impossibile l'#integrazione. Senza quest'ultima, l'#accoglienza indiscriminata si trasformerebbe in una nuova tratta degli schiavi che, guarda caso, tutto sommato con le logiche neoliberali non cozzerebbe più di tanto. Basta con questa fregnaccia dei buoni da un lato e dei cattivi dall'altro: facciamola finita che è meglio. La mia a #TGItalia, #CusanoNews7