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

Пребарај: #assembleanazionale

当前筛选 #assembleanazionale清除筛选
Marx21.it

@marx21news · Post #10122 · 06.04.2026 г., 13:07

🇻🇳 Vietnam, 15 marzo: affluenza record al 99,68% per la XVI Assemblea Nazionale. Non un semplice voto, ma una “festa nazionale” che sancisce l’inizio dell’“era dell’ascesa”. Cosa rende uniche queste elezioni? 🔹 Tempi accelerati: da 70 a 42 giorni per le candidature, calendario anticipato di due mesi 🔹 Modernizzazione: QR code con biografie dei candidati, urne mobili per anziani 🔹 Nuovo assetto amministrativo a due livelli, dopo il XIV Congresso del Partito I numeri della Capitale Hanoi: 54 candidati per 32 seggi all’Assemblea Nazionale, 205 per 125 seggi al Consiglio Popolare. Il messaggio del Segretario Generale Tô Lâm: “Trasformare la gioia del voto in azioni concrete”. La nuova legislatura (2026-2031) dovrà tradurre in leggi il piano di sviluppo socio-economico, con obiettivi di crescita a due cifre. Non solo rappresentanza, ma capacità dello Stato di governare e innovare. La sfida? Che la modernizzazione non resti un’etichetta, ma diventi risultati percepibili ogni giorno in sanità, istruzione e servizi. Una transizione da monitorare con attenzione. Cosa ne pensi? 👇 #Vietnam#AssembleaNazionale#Sviluppo#Governance https://www.marx21.it/comunisti-oggi/la-xvi-assemblea-nazionale-rappresenta-il-banco-di-prova-dellera-dellascesa-del-vietnam/

Marx21.it

@marx21news · Post #9875 · 04.03.2026 г., 15:41

Laos: dal XII Congresso del Partito al voto popolare Il 22 febbraio il Laos ha rinnovato il suo parlamento (X Assemblea Nazionale) e i consigli provinciali. Oltre 4,7 milioni di elettori erano chiamati alle urne per scegliere 175 deputati, in un’elezione presentata come il naturale proseguimento delle linee tracciate dal recente XII Congresso del Partito Rivoluzionario. Dopo aver definito la visione strategica fino al 2030 e al 2055, l’obiettivo ora è tradurre le direttive in azioni concrete. Nei resoconti ufficiali e nelle interviste ai cittadini emergono temi ricorrenti: non solo la fedeltà al Partito, ma anche richieste molto pratiche legate al costo della vita, alla gestione dei rifiuti, alle infrastrutture e alla stabilità dei servizi. Un passaggio che conferma il primato del Partito, ma che cerca di aprire spazi (controllati) di dialogo tra istituzioni e bisogni quotidiani della popolazione. #Laos#Politica#Elezioni#SudestAsiatico#AssembleaNazionale https://www.marx21.it/comunisti-oggi/dal-xii-congresso-alle-urne-il-laos-rinnova-il-suo-corpo-legislativo/