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

Резултати

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

Пребарај: #zelenskij

当前筛选 #zelenskij清除筛选
Maurizio Vezzosi

@mauriziovezzosi · Post #29 · 21.04.2019 г., 20:56

Una mappa del voto ucraino. In verde i voti di #Zelenskij, in rosso quelli di #Poroshenko. i consensi ottenuti da Poroshenko sembrano direttamente proporzionali al grado di radicamento del nazionalismo e del neofascismo ucraino, quasi del tutto alieno alle aree orientali e meridionali del paese ex sovietico. #ucraina#europa#russia

Maurizio Vezzosi

@mauriziovezzosi · Post #54 · 23.05.2019 г., 15:11

La vendetta di Igor Kolomoiskij 23 maggio 2019 di Maurizio Vezzosi #Ucraina - Ad appena qualche giorno dall'insediamento ufficiale alla presidenza di Vladimir #Zelenskij, Igor #Kolomoiskij - l'oligarca di cui il neo-presidente è espressione diretta - è rientrato in Ucraina da #Israele. L'inizio della sua vendetta nei confronti dell'oligarca-arcinemico Petro Poroshenko non si è fatto attendere. Alla Procura Generale ucraina è bastato appena qualche giorno per avviare un'indagine per alto tradimento nei confronti dell'ormai ex presidente Poroshenko, che ora rischia l'esilio o la galera. I fatti presi in esame dalla Procura Generale ucraina sarebbero relativi alla provocazione orchestrata da Poroshenko sullo stretto di Kerch lo scorso novembre: una provocazione usata deliberatamente dallo stesso Poroshenko come pretesto per introdurre nel paese la legge marziale nel disperato tentativo di rimandare le imminenti elezioni presidenziali o, in ogni caso, di salvarlo dall'assoluta impopolarità: contemporaneamente alla messa in stato d'accusa dell'ex presidente sono iniziate le epurazioni dei vertici militari a lui legati a doppio filo. Nel frattempo Zelenskij si è detto disposto ad intavolare delle trattative con #Mosca per risolvere il conflitto in #Donbass, pur ribadendo che “l'Ucraina è il miglior alleato degli Stati Uniti” e che il futuro dell'Ucraina è all'interno dell'Alleanza Atlantica. Una trattativa, quella che Zelenskij sostiene di voler intraprendere, che ha i tratti ed i presupposti di una farsa. Sarebbe sorprendente trovarsi a dover constatare il contrario.

Maurizio Vezzosi

@mauriziovezzosi · Post #47 · 14.05.2019 г., 14:12

Reso celebre dalla serie cinematografica “Sluga Naroda” (in italiano: “servo del popolo”) - trasmessa da #Netflix ed anticamera della campagna elettorale vera e propria - Vladimir #Zelenskij condivide il sostegno di #Kolomoskij con l'organizzazione neofascista Pravy Sektor e con diversi battaglioni paramilitari. Nuovi conflitti interni sembrano attendere l'#Ucraina, rischiando non solo di vanificare ogni minima possibilità di miglioramento complessivo, ma addirittura di far esplodere una nuova guerra civile. La volontà degli oligarchi ucraini - al netto di alcune eccezioni - sembra continuare ad essere quella di lasciare irrisolta la guerra del #Donbass, facendo si che sul fronte si continui a sparare: del resto, senza una guerra in atto, le speranze di poter appropriarsi dei miliardi di dollari provenienti dal sostegno dell'#Occidente si farebbero ben più sottili. Una volontà, quella degli oligarchi, che a dispetto del cosiddetto “piano #Volker” sembra convergere con gli intenti statunitensi di tenere in piedi a tutti i costi lo scontro con la Federazione Russa. La mia analisi per Quadrante Futuro. #russia#usa https://www.quadrantefuturo.it/paesi/zelenskij-il-grillo-di-kiev-al-soldo-dell-oligarca.html

Maurizio Vezzosi

@mauriziovezzosi · Post #25 · 19.04.2019 г., 08:46

La #Cina continua ad accrescere il proprio peso geopolitico in #Ucraina, uno dei ventri molli del continente. Benché il turbolento paese ex sovietico non figuri tra i principali stati interessati dalle nuove vie della seta, #Pechino sta dimostrando di possedere una strategia più chiara di quella delle principali cancellerie occidentali. Mentre il conflitto del #Donbass prosegue, tra due giorni in Ucraina è previsto il ballottaggio tra #Poroshenko e #Zelenskij per la presidenza. Ne parlo su Limes, rivista italiana di geopolitica #russia#europa#usa#nato#china#россия#китай#украина http://www.limesonline.com/ucraina-cina-vie-della-seta-europa-asia/111601?prv=true