@savinobalzano · Post #538 · 09.01.2024 г., 09:25
Tra i saluti romani di Acca Larentia ci avrei visto bene anche Netanyahu e gran parte del suo Governo. #Gaza#AccaLarentia
Hashtags
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
Пребарај: #accalarentia
@savinobalzano · Post #538 · 09.01.2024 г., 09:25
Tra i saluti romani di Acca Larentia ci avrei visto bene anche Netanyahu e gran parte del suo Governo. #Gaza#AccaLarentia
Hashtags
@savinobalzano · Post #542 · 13.01.2024 г., 11:19
Sapete chi vive nella tasca di Giorgia Meloni? Si, proprio lei: Elly Schlein. Però diciamocelo: il lavoro di Elly è complicatissimo perché molti dei disastri che denuncia in realtà sono il risultato delle decennali politiche del suo partito. Detto questo, c'è da dire che l'inadeguatezza è totale ed è per questo che Giorgia l'ha eletta a sua avversaria: dai, ammettetelo, è bello vincere facile. La mia al TG Plus di Cusano Italia TV #GiorgiaMeloni#Meloni#EllySchlein#Schlein#AccaLarentia https://www.youtube.com/watch?v=_NfuZetXeTI&ab_channel=SavinoBalzano
@savinobalzano · Post #855 · 08.01.2025 г., 10:46
https://x.com/SavinoBalzano/status/1876941586044432789?t=NYgrvLRsHgucjjQ3a9cNKg&s=19 Ossessivamente parlano di rischio per la nostra #democrazia: sarebbe minacciata da agenti esterni, ingerenze, estremismi e chi più ne ha più ne metta. È vero che non se la passa benissimo, ma non di certo da ora, e la colpa a mio avviso ce l'hanno proprio quelli che oggi strillano, gli stessi che non si rendono conto (o fingono di non farlo) di quanto il doppiopesismo nel loro approccio li renda ridicoli. Alcuni esempi? Eccoli: - si avvicina l'insediamento del Presidente #Trump e, piuttosto che parlare dell'oggi, di quanto viviamo o stiamo per vivere, ci viene propinato di continuo il racconto del 6 gennaio 2021: a voi sembra normale? Il tentativo, ovviamente, è quello di insistere con lo spauracchio dell'arrivo al potere del male assoluto, del #DonaldTrump che tutti dovrebbero temere. Ci vengono riproposte le sue ultime boutade, come se il Presidente uscente, #Biden, fosse stato un uomo di pace: la sua gestione dei conflitti in corso ha ricordato un pompiere che prova a spegnere un incendio con una manichetta alimentata a benzina. Lo stesso #JoeBiden che con i suoi ultimi atti cerca di impantanare la futura amministrazione nelle logiche della guerra tanto amate dai democratici statunitensi (ma anche italiani). Si indugia poi su qualche scandalo del Presidente entrante, dimenticando ovviamente la recentissima grazia che il vecchio Joe ha riservato a suo figlio; - tutto ciò che ruota attorno a Trump deve essere dipinto come una delle piaghe d'Egitto e la più pericolosa ha un nome e un cognome: #ElonMusk. Il suo sistema di satelliti, ad esempio, potrebbe mettere a repentaglio la nostra sovranità nazionale. Già fa ridere così: che chi ha svenduto la Costituzione alla tecnocrazia sovranazionalista si preoccupi della sovranità nazionale è già da mettersi un pannolone per le risate. Ma si sono accorti, peraltro, che tutta la nostra telecomunicazione è di proprietà straniera? Vogliamo parlare di tutto il cloud della pubblica amministrazione del Paese? La sua realizzazione ha coinvolto enormi multinazionali (Google ad esempio) e non mi pare siano di proprietà di un Olivetti; - rieccoci, come ogni anno, a festeggiare il Natale della #sinistrucola. Si, la loro rinascita, ciò che infonde un senso alla loro stessa esistenza: #AccaLarentia. I salotti dell'informazione sono già affollatissimi di gente (tutti intellettuali generalmente contraddistinti da occhiali dalle forme più particolari) che ci gonfia i coglioni con la storia del #neofascismo. Ovviamente quel raduno è una roba da centro di igiene mentale più che da arresto, tuttavia chi per decenni non è stato filato da nessuno, adesso, guardacaso mentre al governo c'è un determinato partito, diventa l'emergenza assoluta nel dibattito pubblico. Una tortura senza fine alla quale siamo chiamati a sottorporci da qualche anno a questa parte; - da ultimo, pare proprio che i signori del #FactChecking e del #Debunking sui social network stiano per andarsene finalmente dove meritano: a fare in culo. Questa è una notizia semplicemente meravigliosa: tutti i propalatori di menzogne politicamente corrette (se non ti vaccini ammazzi la gente; la resistenza ucraina vincerà la guerra; Putin è malato terminale; etc.) rischiano seriamente di non avere più lavoro: il proprietario di #Meta, tale #Zuckerberg, dopo aver ammesso di aver censurato la gente su ordine dell'amministrazione democratica statunitense (sottolineo "democratica"), pare proprio voler porre fine a una pagina vergognosa nella storia della libertà di pensiero nel mondo: gli amici del "vi costringeremo ad essere liberi" (e in Italia si sprecano) dovranno presto, si spera, farvi i conti. Ovviamente tutti a frignare già stanno e cianciano delle cavallette in arrivo. Io scaldo i pop corn.