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

Резултати

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

Пребарај: #iv

当前筛选 #iv清除筛选
Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #44286 · 03.11.2023 г., 12:05

Premierato, ora cosa succede❓ La riforma costituzionale approvata dal Cdm, per evitare il referendum, necessita ora dell'approvazione dei due terzi dei componenti in entrambi i rami del Parlamento (138 sì al Senato e 267 sì alla Camera). In base all'articolo 138 della Costituzione, essa deve essere votata due volte da entrambe le Camere: in prima lettura, con possibilità di modifica del testo, e in seconda lettura con approvazione secca o respingimento. Se nelle due seconde votazioni l'approvazione è solo della maggioranza assoluta, è possibile chiedere entro tre mesi un referendum popolare che confermi o respinga la riforma. Al momento, non basta l'appoggio di #IV al testo @UltimoraPolitics

Hashtags

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #43293 · 12.04.2023 г., 20:47

Terzo Polo, #IV: "Riunione conclusa. Aggiornamento a domani alle 17. Rimangono aperte la questione soldi, su cui Iv è disponibile a pagare il 50% delle spese come fatto fino ad oggi, e la richiesta di Calenda di non fare mai più la Leopolda. Sul resto accordo…

Hashtags

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #43292 · 12.04.2023 г., 20:47

Terzo Polo, #IV: "Riunione conclusa. Aggiornamento a domani alle 17. Rimangono aperte la questione soldi, su cui Iv è disponibile a pagare il 50% delle spese come fatto fino ad oggi, e la richiesta di Calenda di non fare mai più la Leopolda. Sul resto accordo pieno" @UltimoraPolitics

Hashtags

L'Osservatorio - Italia

@Osservatorioitaliano · Post #24739 · 26.03.2026 г., 23:18

#Italia Il leader di #IV|RE, Matteo Renzi, a Piazza Pulita su La7: "Io parto da un presupposto, penso che oggi sia evidente a tutti che il centrosinistra può vincere, o forse che più correttamente che la Meloni può perdere. Io non credo che accada che la Meloni vada a votare, ma essendoci passato, dico che queste botte fanno male sull'istante ma molto di più dopo. Io me ne sono andato subito ma quando vai in Parlamento e trovi i tuoi che non ti votano più, partono le risse interne, scatta un elemento psicologico. L'altro punto è che il centrosinistra deve trovare argomenti, noi lanceremo le primarie delle idee. Salis dice che 'le primarie spaccherebbero il centrosinistra'? Non sono d'accordo, la stimo, ne apprezzo il valoro e la voterei domani mattina alle primarie. Credo però che Silvia sbagli nel dare giudizio negativo sulle primarie che sono l'elemento costitutivo del PD. Non credo che cambierà idea, ma lei è una persona di grande livello". @Osservatorioitaliano

Hashtags

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #43945 · 03.08.2023 г., 08:32

❗️ Salario minimo, la #Camera approva con 168 sì, 127 no e tre astenuti la questione sospensiva presentata dalla maggioranza, che rinvia fino alla fine di settembre l’esame della proposta di legge delle opposizioni, tranne #IV @UltimoraPolitics

Hashtags

Ultimora.net - POLITICS

@Ultimorapolitics · Post #37290 · 21.04.2022 г., 09:30

#Italia #Camera Dopo una lunga serie di emendamenti bocciati, inizia la discussione di un altro emendanto considerato insidioso. L'emendamento, a firma #IV, riscrive completamente il testo inserendo la separazione delle carriere dei magistrati. @UltimoraPolitics

Ultimora.net - POLITICS

@Ultimorapolitics · Post #37289 · 21.04.2022 г., 09:28

#Italia#Camera Dopo una lunga serie di emendamenti bocciati, inizia la discussione di un altro emendanto considerato insidioso. L'emendamento, a firma #IV, riscrive completamente il testo inserendo la separazione delle carriere dei magistrati. @UltimoraPolitics

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #43566 · 22.05.2023 г., 22:17

❗Terzo Polo, firmata la 'tregua' tra #IV e #Azione. Sottoscritto un documento comune, approvato all'unanimità, per avviare un percorso per una lista unitaria alle prossime elezioni europee. I gruppi parlamentari resteranno in vita con gli attuali numeri @UltimoraPolitics

Hashtags

123•••10•••20•••2223
ПретходнаСтраница 1 од 23Следна