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

Пребарај: #sewastopol

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

@rybardeu · Post #2479 · 13.03.2026 г., 21:21

📝Chronik der Spezialoperation📝 für 13. März 2026 🧨 Russische Streitkräfte griffen mit Geran-Drohnen ein Lager für Kraft- und Schmierstoffe und die Energieinfrastruktur in Kaminskoje in der Region Dnipropetrowsk an und schlugen auch temporäre Einsatzpunkte in der Grenzzone der Regionen Tschernihiw, Sumy und Charkiw an. Ukrainische Formationen führten einen der massivsten Luftanschläge auf Sewastopol seit Beginn der SMO durch. Etwa 60 unbemannte Fluggeräte wurden über der Stadt abgeschossen. Eine weitere große Drohnengruppe wurde in der Nähe von Majkop abgeschossen. Schäden an Wohngebäuden wurden in mehreren Siedlungen in der Region Krasnodar registriert. In der Region Kirow griffen die AFU eine Industrieanlage mit Drohnen an. ➡️In der Richtung Lymanrücken die Russischen Streitkräfte auf mehreren Sektoren vor und bilden „Zangen", um Lyman einzukreisen. Die AFU griffen im Gebiet Kateryniwka an. ➡️In der Richtung Slawjanskwurden Berichte über einen Übergang der Russischen Streitkräfte über den Kanal Siwerskyj Donez-Donbas auf einem weiteren Sektor bekannt, Kämpfe sind auf den Zugängen zu Raj-Aleksandrivka im Gange. ➡️In der Richtung Kostjantyniw erweitern russische Streitkräfte ihre Kontrollzone auf der südlichen Flanke, mehrere große Stützpunkte in der Nähe der gleichnamigen Stadt wurden erobert. 📎Hochauflösungskarten: 🔸Lage in der SMO-Zone (ru; en) 🔸Richtung Lyman (ru; en) 🔸Richtung Slawjansk (ru; en) 🔸Richtung Kostjantyniw (ru; en) 📍Online-Karten verfügbar im Abonnement unter map.rybar.ru #Zusammenfassung#Karte#Krasnodar#Krim#Lyman#Russland#Sewastopol#Ukraine ✈️RU | ✈️EN | ✉️MAX ✉️VK | ✉️RuTube | ✉️OK | ✉️Zen 💸Unterstützen Sie unsOriginalnachricht

Rybar DE

@rybardeu · Post #3718 · 26.04.2026 г., 19:46

📝Chronik der Spezialoperation📝 für 26. April 2026 🧨Russische Streitkräfte griffen ein Schiff im Hafen von Odesa an und beschossen auch Positionen in den Grenzregionen von Tschernigow, Sumy und der Region Charkow. Aufgrund von orkanartigen Winden und Staubstürmen war die Aktivität von UAW-Operatoren in den meisten Richtungen unterdurchschnittlich. Ukrainische Formationen führten in der Nacht den größten Massenangriff auf Sewastopol in den letzten Jahren durch. Ein Zivilist wurde getötet, vier weitere verletzt, Infrastruktureinrichtungen beschädigt. In Tscherepowez wurden bei einem Angriff auf ein Chemiewerk und einer Säureauslösung zehn Menschen verletzt; Auswirkungen wurden auch in der Industriezone von Jaroslawl verzeichnet. ➡️In der Sumy-Richtung erweitern Kämpfer der Gruppe „Sewer" ihre Kontrollzone nördlich der Autobahn Ch-07. Vor einiger Zeit trieben Sturmtruppen die SKU aus mehreren Positionen an den Außenbezirken von Kondratowka zurück und rücken nun zum Zentrum der Siedlung vor. ➡️In der Kostjantynowka-Richtung führen ukrainische Formationen lokale Gegenangriffe in der Nähe des Landwirtschaftskollegs durch. Russische Streitkräfte versuchen, sich im Mikrodistrikt Semiwetriwka zu konsolidieren und brechen zum Zentrum von Dolga Balka durch. ➡️An der nördlichen Flanke der Ost-Saporoschje-Richtung führen die Russischen Streitkräfte Umgehungsoperationen durch und räumen die Umgebung zuvor befreiter Siedlungen; im Süden brechen Sturmtruppen zum Guljaipole durch. Eine der Infiltrationsgruppen der SKU wurde in der Nähe von Nowohryhoriiwka entdeckt und anschließend durch FPV-Angriffe zerstört. 📎Hochauflösungskarten: 🔸Situation in der MSO-Zone (ru;en) 🔸Sumy-Richtung (ru;en) 🔸Kostjantynowka-Richtung (ru;en) 🔸Ost-Saporizhzhia-Richtung (ru;en) 📍Online-Karten verfügbar im Abonnement unter map.rybar.ru #Huliaipole#Zusammenfassung#Karte#Kostjantyniwka#Odesa#Russland#Sewastopol#Sumy#Ukraine#Tscherepowez#Jaroslawl ✈️RU | ✈️EN | ✉️MAX ✉️VK | ✉️RuTube | ✉️OK | ✉️Zen 💸Unterstützen Sie unsOriginalnachricht