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

Резултати

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

Пребарај: #proletariato

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

@marx21news · Post #9917 · 10.03.2026 г., 17:42

JURIJ GAGARIN, FIGLIO DELLA CLASSE OPERAIA Il 9 marzo 1934 nasceva Jurij Gagarin — figlio di un carpentiere e di una contadina, carne della carne del proletariato sovietico. Non era il rampollo di una dinastia industriale, non aveva alle spalle capitali ereditati o reti di privilegio borghese. Aveva qualcosa di radicalmente diverso: un sistema che aveva spezzato la logica classista dell’accesso alla conoscenza, garantendo a ogni bambino — indipendentemente dall’origine sociale — il diritto reale, materiale e concreto a un’istruzione di qualità. Il risultato? Il 12 aprile 1961, a soli 27 anni, quell’operaio figlio di operai orbitava intorno alla Terra a bordo della Vostok-1, diventando il primo essere umano a conquistare lo spazio. Non un magnate. Non un aristocratico. Un figlio del socialismo. Gagarin non è soltanto un nome nella storia dell’astronautica: è una confutazione vivente dell’ideologia capitalista del merito individuale. La sua traiettoria dimostra cosa diventa possibile quando si abbattono le barriere di classe nell’accesso al sapere, quando il potenziale umano non viene soffocato dalla logica del profitto e della riproduzione del privilegio. Oggi il revisionismo liberale e occidentale lavora sistematicamente per ridurre l’esperienza storica dell’Unione Sovietica a un catalogo di crimini, equiparandola — in modo intellettualmente disonesto e politicamente strumentale — al nazifascismo. È un’operazione ideologica precisa: screditare non solo un’esperienza storica, ma l’idea stessa che i lavoratori possano organizzarsi, governare e costruire. Che esista un’alternativa. Le contraddizioni del socialismo reale vanno analizzate con rigore materialistico, senza apologetica acritica — ma senza nemmeno cedere alla narrazione di chi ha tutto l’interesse a farci credere che nessun altro mondo sia possibile. Gagarin è lì, che orbita ancora, a ricordarci il contrario. SEMPRE PIÙ SU. #JurijGagarin #Gagarin #URSS #UnioneSovietica #Socialismo #ClasseOperaia #Proletariato #Vostok1 #StoriaDelSocialismo #Antimperialismo 📢 Contribuisci al Partito Comunista con una piccola sottoscrizione: 👉https://ilpartitocomunista.it/contribuisci/ 📬 Iscriviti al Partito Comunista: 👉https://ilpartitocomunista.it/tesseramento/ 🔴 Segui il Partito Comunista sui social: 👉https://instabio.cc/PartitoComunista 🎧 Ascolta il nostro podcast su tutte le piattaforme: 👉https://linktr.ee/ilpartitocomunista