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

Пребарај: #romanoprodi

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

@savinobalzano · Post #904 · 21.02.2025 г., 09:32

https://x.com/SavinoBalzano/status/1892869823501042090?t=rkjMmPhaUMpiP4bXY5TXkQ&s=19 Ieri sera, con incredibile candore, e senza alcuna reazione da parte di chi l'ascoltava, #Prodi ha confessato: ha espresso chiaramente la sua idea di #Europa o, meglio, la sua idea di #UE. Testualmente: «bisogna partire dall'accordo fra la #Francia e la #Germania con DIETRO l'#Italia: questa era l'europa quando funzionava. Se non è questo, è chiaro che non si riesca ad andare avanti». Fossi stato io a dialogarci, gli avrei domandato: - cosa intende con "dietro"? - cosa intende con "funzionare"? - cosa inende con "avanti"? Perché la questione è tutta qui: esiste una classe dirigente (di cui #RomanoProdi è espressione, ma non da solo: pensate a #Draghi che ieri sera Romano chiamava familiarmente e affettuosamente "Mario") che ritiene opportuno che il nostro Paese stia dietro ad alcuni altri. Tale posizionamento è utile al conseguimento di determinati obiettivi, a specifici "funzionamenti", che mandino "avanti" qualcuno che non siamo noi (noi restiamo, appunto, dietro). È un preciso approccio culturale prima che politico: a volerlo pensare in buonafede (e ce ne vuole, a mio avviso) quantomeno nutre una visione diffidente nei confronti del suo stesso Paese, non ci crede. A voler essere malfidati, invece, basterebbe ricordare (ancora una volta!) quello che ci promise: «Con l’#euro lavoreremo un giorno di meno guadagnando come se lavorassimo un giorno di più». Di cosa abbiamo veramente bisogno? di chi? Dobbiamo affidarci agli uomini che rappresentano questa Europa in Italia? mi riferisco ai Prodi, ai #MarioDraghi, ai #Monti? o sperare finalmente di sganciarci da un apparato istituzionale, che fino a oggi ci ha asfissiato, sperando ti tornare a respirare aria fresca? Io non avrei alcun dubbio. Intanto, complimenti ancora a #Formigli per l'intervista a schiena dritta: l'ha messo veramente alle corde, un dialogo severo e spietato. Da un momento all'altro mi aspettavo gli domandasse qualcosa tipo: «Presidente, ha mai pensato di rimettersi in gioco, di scendere nuovamente in campo? avremmo tanto tanto bisogno di lei...».

Savino Balzano

@savinobalzano · Post #857 · 09.01.2025 г., 15:28

https://x.com/SavinoBalzano/status/1877376654898593900?t=_UK7DQb1rTABgiMEYjuDXw&s=19 Smettetela di attaccare #Augias per le previsioni sballate sulla liberazione di #CeciliaSala: #GiorgiaMeloni non lo aveva chiamato per informarlo di come procedevano le trattative: cosa pretendete? facile col senno del poi! E lo stesso vale per l'amico #Santoro: se #Meloni gli avesse inviato un telegramma da #MarALago, per anticipargli le notizie su #ceciliasalalibera, il malinteso non si sarebbe creato! #Giorgia è stata quantomeno scortese, diciamolo. #Prodi, invece, lucidamente si preoccupa per la nostra sovrànità nazionale. #RomanoProdi conferma infatti di essere il più grande e lucido statista vivente in #Italia: i rapporti tra #Meloni, #Trump e #Musk sono preoccupanti e, detto da uno che ha reso l'Italia autorevole e indipendente nel mondo, ha un valore inestimabile: grazie Presidente! Il #BattitoreLibero a #5Notizie, #RadioCusanoCampus