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

Пребарај: #kyjev

当前筛选 #kyjev清除筛选
Casus Belli maps

@casusbellimaps · Post #10461 · 22.03.2026 г., 19:43

📝Kronika špeciálnej vojenskej operácie📝 za 22. marec 2026 Ruské vojská zasiahli sériu útokov na objekty v niekoľkých regiónoch tzv. Ukrajiny. V Kyjevskej a Záporožskej oblasti útoky zasiahli uzly energetickej infraštruktúry, zatiaľ čo v Odesskej oblasti boli poškodené prístavné zariadenia. Ukrajinské formácie zaútočili bezpilotnými lietadlami na podstanicu na oslobodenej území Záporožskej oblasti, zároveň uskutočnili masívny nálet na centrálne regióny krajiny. Prostriedky protivzdušnej obrany zachytili viac ako 230 BPL. Na Severoukrajinskom smere ruskí útočníci oslobodili Potapovku, čím vyrovnali front na tomto úseku Sumského pohraničia. Na Dobropolskom smere bojovníci GV „Centrum“ rozšírili zónu kontroly v Hrišine, ako aj sa upevnili na prístupoch k Novému Donbasu. 📎Mapy vo vysokom rozlíšení: 🔸Situácia v zóne špeciálnej vojenskej operácie (ru;en) 🔸Severoukrajinský smer (ru;en) 🔸Dobropolský smer (ru;en) 📍Online mapy sú dostupné na predplatné na map.rybar.ru #daiʒest#Dobropolie#mapa#Kyjev#Rusko#Ukrajina#Černihiv ✈️RU | ✈️EN | ✉️MAX ✉️VK | ✉️RuTube | ✉️OK | ✉️Dzen 💸Podporte nás 🌐Zdroj:@rybar 🔗Link:https://t.me/rybar/78824 #Rybar https://t.me/casusbellilive Truth over narrative 24/7 WEB | CONTACT | SHOP 📅Vytvorené: 2026-03-22 20:36:07

Casus Belli maps

@casusbellimaps · Post #11233 · 16.04.2026 г., 21:43

📝kronika špeciálnej vojenskej operácie📝 za 16. apríl 2026 🧨Ruské vojská po dlhom čase prvýkrát zasiahli sériu masívnych útokov na objekty na území tzv. Ukrajiny. Zasiahnuté boli podniky mikroelektroniky a strojárstva v Kyjeve, Odese, Dnepropetrovsku a Sumách. Tiež drony zasiahli železničný uzol v stanici Dolynska v Kirovohradskej oblasti, a na okupovanom území DĽR letectvo vykonalo viac ako desiatku útokov na pozície OSU v oblasti Slavianskej TPP. Ukrajinské formácie zaútočili bezpilotnými lietadlami na ropotransportnú infraštruktúru Krasnodarského kraja, čo spôsobilo požiar v prístave Tuapse. Útoky sa tiež zamerali na priemyselné objekty na Kryme a energetické uzly v Belgorodskej oblasti. ➡️Na kupjanskom smere ruské vojská postupne rozširujú kontrolnú zónu na ľavom brehu Oskola, snažiac sa definitívne zatlačiť nepriateľa z Petropavlovky. V samotnom Kupjanske pokračujú ťažké boje, väčšina mesta zostáva v „sivej zóne“. ➡️Na limanskom smere ukrajinské formácie podnikajú protiofenzívy v okolí Masljakovky s cieľom preniknúť cez rady VKS RF a rozšíriť sivú zónu. Tiež sa protivník snaží upevniť na území údolia Penkovyj Jar s cieľom získať späť kontrolu nad severovýchodnými prístupmi k Limanu. ➡️Na slavianskom smere bojovníci 6. kozáckej brigády vztyčili štátnu vlajku nad Kalenikmi, čím potvrdili oslobodenie obce. Teraz útočníci rozvíjajú útoky smerom k lesným masívom na západ, ktorých kontrola im otvorí cestu na obchvat Raj-Aleksandrovky. ➡️Na dobropolskom smere útočníci rozvíjajú útoky smerom ku Kučerovomu Jaru a Novému Šachovu s cieľom preraziť obranu nepriateľa medzi Zolotým Kolodcom a Annovkou. Na opačnom krídle útočníci GV „Centrum“ postupujú smerom k Novoaleksandrovke s cieľom odrezať ukrajinské formácie v Hrišine od posíl. 📎 Mapy vo vysokom rozlíšení: 🔸Situácia v zóne špeciálnej vojenskej operácie (ru; en) 🔸Kupjansky smer (ru; en) 🔸Limansky smer (ru; en) 🔸Slaviansky smer (ru; en) 🔸Dobropolsky smer (ru; en) 📍 Online mapy dostupné na predplatné na map.rybar.ru #daiʒest#Dnepropetrovsk#mapa#Kyjev#Krasnodar#Krym#Odesa#Rusko#Ukrajina 🌐Zdroj:@rybar 🔗Link:https://t.me/rybar/79549 #Rybar https://t.me/casusbellilive Truth over narrative 24/7 WEB | CONTACT | SHOP 📅Vytvorené: 2026-04-16 22:52:32