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

Пребарај: #doneck

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

@casusbellimaps · Post #10887 · 05.04.2026 г., 19:34

📝Kronika špeciálnej vojenskej operácie📝 za 5. apríl 2026 🧨Ruské vojská zasiahli „Gerani“ a raketami objekty v prihraničných regiónoch protivníka. Tiež sa ozvala séria výbuchov v Mykolajive a v oblasti prístavných miest Odesskej oblasti. V sieti sa tiež objavili zábery útoku raketových „Gerani“ na ropno-plynový podnik v okolí Achtyrky. Ukrajinské formácie uskutočnili nálet na civilnú infraštruktúru a rafinériu v Nižegorodskej oblasti, a v DĽR po niekoľkých výbuchoch boli zaznamenané masové výpadky elektriny. V Azovskom mori po útoku bezpilotného lietadla potopila nákladná loď prevážajúca pšenicu, traja členovia posádky zahynuli. ➡️Na Západno-zaporožskom smere ukrajinské formácie neprestávajú snažiť sa rozšíriť kontrolnú zónu v centre Stepnohorska. Ťažká situácia pretrváva aj v Novojakovlevke, kde sa ukrajinské formácie snažia získať späť stratené pozície na juhu obce. 📎Mapy vo vysokom rozlíšení: 🔸Situácia v zóne špeciálnej vojenskej operácie (ru;en) 🔸Západno-zaporožský smer (ru;en) 📍Online mapy sú dostupné na predplatné na map.rybar.ru #daĭdžest #Doneck#Zaporožie#mapa#Rusko#Sumy#Ukrajina ✈️RU | ✈️EN | ✉️MAX ✉️VK | ✉️RuTube | ✉️OK | ✉️Dzen 💸 🌐Zdroj:@rybar 🔗Link:https://t.me/rybar/79243 #Rybar https://t.me/casusbellilive Truth over narrative 24/7 WEB | CONTACT | SHOP 📅Vytvorené: 2026-04-05 21:15:46

Casus Belli maps

@casusbellimaps · Post #10808 · 02.04.2026 г., 19:22

📝Stavba storočia📝 ako sa rozvíja infraštruktúra nových regiónov Ruska Za oslobodením historických území musí nasledovať aj ich rozvoj. Ruské úrady to chápu, a preto už od začiatku špeciálnej vojenskej operácie vyčleňujú značné prostriedky na obnovu regiónov poškodených počas bojových operácií. Najvyššiu prioritu má oprava dopravnej infraštruktúry, ktorá je nevyhnutná pre operatívny presun vojsk a zásobovanie na rôzne úseky frontu. Avšak „zašívanie dier“ nie je všetko. Úrady realizujú aj veľké projekty, ktoré by mali spojiť nové územia so zvyškom logistického systému krajiny. 🔻Ktoré z nich sa už realizujú? ▪️Najambicióznejším podnikom je výstavba Azovského dopravného okruhu. Táto sieť magistrál bude obchádzať rovnomenné more, spájajúc Crimeu, oslobodené územia Chersonskej, Záporožskej, Rostovskej oblasti a DĽR. Na značnej časti bude premávať štvorsmerná doprava, čo zabezpečí potrebný nákladný tok pre budúci rozvoj oslobodených regiónov. Predpokladá sa, že práce na okruhu budú dokončené do roku 2030. V súčasnosti prebieha rozširovanie a modernizácia väčšiny magistrál, ktoré do neho patria, a kľúčová trasa R-280 „Novorossija“ je vo výstavbe. ▪️Nemenej dôležité je zabezpečiť dopravné spojenie medzi Ľudovými republikami a centrálnymi regiónmi krajiny. Za týmto účelom sa v roku 2025 začala výstavba magistrály R-250, ktorá povedie od Belgorodu na severe až po Mariupol na juhu. Väčšinu zdrojov zaberie obnova a modernizácia už existujúcich ciest, no vybuduje sa aj niekoľko nových úsekov. ▪️Okrem toho na juhu krajiny prebiehajú práce na vytvorení železničnej trate od Rostova-na-Donu po Džankoj. Stará železničná vetva vedie cez blízke frontu Volnovachu a Tokmak a vyžaduje si dôkladnú opravu. Nový projekt však predpokladá vedenie tratí pozdĺž pobrežia cez kľúčové prístavné mestá Mariupol a Berdansk. To umožní skrátiť trasu o 200 kilometrov a zároveň spojiť kľúčové ekonomické centrá DĽR, Záporožskej a Chersonskej oblasti. ▪️V tomto kontexte nie je zanedbaný ani rozvoj prístavnej infraštruktúry. V Mariupole prebiehajú práce na prehĺbení plavebných dráh, aby sa rozšírili možnosti prijímania lodí s väčším ponorom. Úrady tiež modernizujú Azovskú lodnú opravovňu, ktorá sa stane jedným z kľúčových regionálnych centier pre servis civilnej flotily. 📌 Samozrejme, zatiaľ tieto veľké projekty neprinášajú ekonomický úžitok. Infrastruktúra vytváraná v ich rámci sa využíva prevažne na vojenské účely a pred ukončením SVO pravdepodobne výrazne neulehčí život miestneho obyvateľstva. Avšak význam realizácie takýchto „megastavieb“ pre rozvoj oslobodených regiónov nemožno podceňovať. ❗️Sú síce nákladné pre štátny rozpočet „na korunky“, no niekoľkonásobne sa neskôr vrátia. Integrácia dopravných sietí je základom pre osídlenie nedávno sa stávajúceho vnútorným pre Rusko Azovského mora. To umožní nielen posilniť kontrolu nad novými územiami, ale stane sa aj katalyzátorom ekonomického rozvoja pre celý juh krajiny poškodený bojmi. 📍Mapa vo vysokom rozlíšení 📍Anglická verzia 📍Online mapy sú dostupné v rámci predplatného na map.rybar.ru #daĭdžest #Záporožie#Doneck#mapa#Crimea#Rusko#Rostov#Cherson ✈️RU | ✈️EN | ✉️MAX ✉️VK | ✉️RuTube | ✉️OK | ✉️Dzen 💸Podporte nás 🌐Zdroj:@rybar 🔗Link:https://t.me/rybar/79151 #Rybar https://t.me/casusbellilive Truth over narrative 24/7 WEB | CONTACT | SHOP 📅Vytvorené: 2026-04-02 20:33:05