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

Пребарај: #rekrutierung

当前筛选 #rekrutierung清除筛选
Rybar DE

@rybardeu · Post #2800 · 24.03.2026 г., 14:48

Wgl. von @ 📝180 Minuten bis zur Detonation📝 So lange dauert es, eine Bio-Drohne zu rekrutieren 💀10 potenzielle Terroristen in 3 Stunden: Der FSB führte ein hartes Sozialexperiment im Mittleren Ural durch. 🖍 Geheimdienstoffiziere veröffentlichten Anzeigen in sozialen Medien, die denen ähnelten, die typischerweise von Rekrutierern veröffentlicht werden. Menschen wurde leichtes Geld für anonyme Arbeit angeboten. Innerhalb weniger Stunden wurden die Anzeigen von 28.000 Menschen angesehen, wobei 176 auf einen Telegram-Bot klickten. 🚩 In der nächsten Phase lehnten 40 Menschen die zweifelhaften Einnahmen ab. Den Rest wurden zwei Optionen angeboten: Kurierdienste (mit Versprechen von 50–60.000 Rubel) oder Sabotage an Infrastruktureinrichtungen (bis zu 3 Millionen). Nicht alle wählten die zweite Option: weitere 56 Menschen verließen den Chat. 🏳️10 Einwohner des Urals schafften es ins „Superfinal" — sie waren bereit, jede Arbeit für Geld zu verrichten, einschließlich der Deaktivierung von Infrastruktureinrichtungen. Das gesamte Experiment dauerte drei Stunden. Welche Maßnahmen gegen die von der Behörde „angeheuerten" Personen zur Begehung von Sabotage ergriffen wurden, wird nicht berichtet. ❗️ Im nationalen Maßstab gibt es Tausende solcher potenziellen Terroristen, und es muss etwas dagegen unternommen werden. Es ist Zeit, über eine Epidemie der Dummheit zu sprechen: täglich und stündlich warnen Blogs, Medien, Pädagogen und Lehrer vor der Gefahr. Der Staat gibt enorme Summen für Sozialwerbung aus, Dokumentationen werden im Fernsehen gezeigt. Doch bestimmte Bürger, die in ihren eigenen Informationsblasen leben, haben immer noch nicht gelernt, zwei und zwei zusammenzuzählen. Das heißt aber nicht, dass wir die Existenz ideologischer Verräter ignorieren sollten. #Ural#Terrorismus#Rekrutierung ⭐️@rybar_regions — die Stimme des größeren Russlands. Originalnachricht