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

Пребарај: #vespa

当前筛选 #vespa清除筛选
Elena Basile Public Channel

@elenabasilepublicchanel · Post #146 · 02.10.2024 г., 10:00

Israele evidentemente con la luce verde dello Stato che lo finanzia e lo rifornisce di armi ha ottenuto la risposta dell' Iran Una seconda risposta misurata che ha dimostrato come sia possibile colpire gravemente Israele Una risposta concordata con gli americani che non ha fatto vittime civili Israele e l Occidente complice hanno un bilancio di 100.000 vittime a Gaza ( stima di una rivista prestigiosa quale Lancet) e di 1500 libanesi, di attentati mirati a leadership politiche negli altri paesi, terrorismo di Stato al di fuori di ogni legalità a cui sobrie analisi di politici, giornalisti e intellettuali occidentali di fatto si riferiscono con patetica indulgenza Dall' altra abbiamo l Iran che per due volte modera la sua risposta, la sua hubris e avverte l' avversario dell' attacco L' Iran non è suicida evita l' escalation per quanto possibile Probabilmente il criminale di guerra Netanyahu( lo definisce tale il procuratore della CPI) e l' irresponsabile leadership neoconservatrice statunitense hanno deciso che bisogna andare fino in fondo e infliggere un duro colpo a Teheran È quanto la lobby di Israele chiede da anni. Biden non puo lasciare questa posizione all' avversario Trump, la Harris deve pur esser finanziata. Eppure questa escalation pone non solo il MO ma il mondo a rischio nucleare L' Iran non è l' Iraq L'Iran è un alleato essenziale per Russia e Cina che mantengono stretti contatti #Vespa in un clip che ho visto su YouTube ( per favore spegnete le tv , non alimentate le audience di chi non fa informazione) ha detto in un dialogo con #Conte che gli arabi hanno festeggiato la morte di Nasrallah Credo che le diplomazie arabe sappiano invece cosa di rischia. Credere che un attentato terroristico contro un capo di un partito radicato nella società civile libanese e che ha 12 seggi in Parlamento diventi legittimo perché qualche arabo fa festa prova a che livelli il giornalismo è giunto #Borrell e #Tajani al seguito chiedono la de-escalation dopo aver tuttavia condannato l'Iran Appelli comici e oltraggiosi L' unico modo per ottenere la de-escalation è fermare Israele a cui l' àEuropa insieme agli USA ha assicurato l' impunità. È uno Stato che come afferma la corte dell' Aja opera al di fuori del diritto internazionale e umanitario, esprimendo un disprezzo assoluto per le norme e la vita umana Quel che più mi sgomenta è il cambiamento antropologico dei cittadini europei. Anche se istruiti, con militanze a favore dei diritti umani, appaiono insensibili alla carneficina in corso Tifano per Israele come se fossimo di fronte a una partita di tennis Vedono bombardare gli inermi, i bambini, i martiri di Gaza, i martiri libanesi e non sbattono ciglio Si augurano con interventi pubblici l' allargamento del conflitto Dovrebbero essere denunciati per crimini di odio I cattivi, Iran o Russia, devono essere eliminati per il trionfo della democrazia e dei diritti umani Sembrano più esaltati, spinti da dogmi irrazionali, di stampo messianico Sono molto più simili agli Ayatollah che affermano di voler combattere Sta diventando tardi Spegnete la tv Documentatevi su internet Federiamoci e soprattutto non lasciamoci intimorire Esprimiamo il nostro pensiero liberamente Contrastare i disegni dei neoconservatori statunitensi a cui una Europa che ha perso se stessa si allinea È un dovere morale prima che politico! #GazaGenocide #Lebanon2024 #iran