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

Пребарај: #lotito

当前筛选 #lotito清除筛选
L'Osservatorio - Italia

@Osservatorioitaliano · Post #25029 · 04.04.2026 г., 09:35

#Italia Il Presidente della Lazio e senatore di #FI|EPP Claudio #Lotito: “Le dichiarazioni di Matteo Renzi sono infondate e denigratorie. Non è la prima volta che utilizza il mio nome per ottenere visibilità, secondo un copione ormai logoro che nulla ha a che vedere con il merito delle questioni. Pur di attaccarmi, dimentica che in Parlamento hanno operato, nel corso degli anni, numerosi presidenti di club calcistici, anche ben più noti e titolati del sottoscritto, ricoprendo talvolta incarichi istituzionali di assoluto prestigio, senza che ciò suscitasse scandalo, neppure nei casi in cui non godevano del consenso unanime della propria tifoseria. Dimentica, inoltre, che il compito di un Senatore della Repubblica è proprio quello di presentare emendamenti, avanzare proposte e contribuire all’attività legislativa. Un esercizio al quale evidentemente Renzi è meno avvezzo, preferendo girare il mondo dispensando lezioni, peraltro a pagamento, piuttosto che misurarsi con la concretezza del lavoro parlamentare. Io svolgo il mio ruolo nel pieno rispetto del mandato ricevuto dagli elettori, con presenza quotidiana e senso di responsabilità nelle sedi istituzionali, risultando tra i Senatori più presenti. Ben diversa è la condotta di chi ha progressivamente trasformato l’impegno politico in uno strumento funzionale quasi esclusivamente a interessi personali e risultando tra i Senatori più assenti. Il calcio italiano ha bisogno di serietà, competenza e responsabilità. Da anni mi batto per cambiare un sistema che ho sempre criticato e denunciato, e che oggi mostra in modo definitivo il fallimento di chi lo ha governato e imposto. Viene allora il dubbio che le critiche di Renzi nei miei confronti mirino in realtà a ostacolare ogni prospettiva di sano rinnovamento nel mondo del calcio. Siamo di fronte all’ennesimo tentativo di screditare la mia esperienza ultraventennale nel sistema calcistico, per timore di perdere spazi e posizioni di rendita. Ed è proprio questo a rendere evidente il principio distorto che Renzi vorrebbe affermare: secondo lui, il presidente di una società calcistica che non gode del consenso di una parte della tifoseria non dovrebbe poter sedere in Senato. Un’idea priva di fondamento democratico e istituzionale, oltre che profondamente strumentale. Peccato vedere Matteo Renzi ridotto a rincorrere la peggiore demagogia utilizzando mistificazione e strumentalizzazione per avere visibilità attraverso la mia persona”. @Osservatorioitaliano

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #42508 · 20.12.2022 г., 08:58

Mauro #Berruto, deputato e responsabile sport #PD: “Uscito dalla porta, rientra dalla finestra lo spalma-debiti per il #calcio, che va chiamato con il suo nome: non “salva sport”, ma “lodo #Lotito”. Il PD presenterà emendamento soppressivo, a mia prima firma”. @UltimoraPolitics