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

Резултати

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

Пребарај: #drones

当前筛选 #drones清除筛选
Voir de ses propres yeux

@voir_yeux · Post #12017 · 07.03.2026 г., 09:14

🇷🇺🇺🇦La défense aérienne russe a abattu 124 drones ukrainiens au-dessus des régions russes au cours de la nuit dernière, a annoncé le ministère russe de la Défense. #russie#drones

NEWS 鏈新聞-ABMedia

@abmedia_news · Post #23837 · 13.04.2026 г., 11:33

【🚀 傳統金融|華爾街日報:香港成伊朗洗錢據點,48 億美元地下金流曝光 】 #Drones#Geopolitics 📍 請見報導: https://abmedia.io/hong-kong-iran-money-laundering-exposed 📍 訂閱鏈新聞頻道:https://linktr.ee/abmedia.io

Indian Development News 🇮🇳

@developmentnewsindia · Post #44430 · 05.05.2026 г., 05:53

Indian startup Hoverit completed vehicle-mounted launch trials of its Divyastra Mk-2 long-range attack drone, with rocket-assisted takeoff testing next. The Divyastra Mk-2 has a range of 1,500–2,000 km, payload of 50–100 kg, and incorporates AI swarm intelligence with GPS-denied navigation capability. #Drones#Defence https://defence-blog.com/india-builds-a-shahed-type-strike-drone-with-2000-km-range/

Indian Development News 🇮🇳

@developmentnewsindia · Post #44124 · 27.04.2026 г., 11:53

India just unveiled a supersonic loitering munition 🇮🇳 Meet Super Kaatil built by Dynamatic Technologies. A drone that combines the precision of a loitering munition with supersonic speed. Here is what it actually is👇 • 100 kg platform powered by a compact jet engine • Supersonic speed, faster than any conventional loitering munition • 350 km strike range for deep strike missions • 35 kg warhead for high value targets • Works in GPS denied and jammed environments • Terrain following flight to stay under radar coverage The original Kaatil had a 100 km range. Super Kaatil triples that and adds supersonic speed on top. #Drones#Defence

Indian Development News 🇮🇳

@developmentnewsindia · Post #44082 · 26.04.2026 г., 06:27

BREAKING: India is reshaping air warfare with the ADC-S (Air Dropped Canisterised Swarm) project, turning transport aircrafts into long-range stand-off strike platforms. The system can deploy multiple autonomous #drones from airborne canisters for deep strikes over 500 km away, even in GPS-denied environments, with high precision. Built under an indigenous framework, ADC-S signals India’s shift from platform-centric warfare to scalable swarm warfare and autonomous combat systems. #Defence https://fxtwitter.com/i/status/2048041840805581203

Indian Development News 🇮🇳

@developmentnewsindia · Post #43527 · 12.04.2026 г., 16:00

Chief of the Army Staff General Upendra Dwivedi visited New Space Research & Technologies, where he was briefed on the organisation’s indigenous capabilities in unmanned and high-altitude systems. The interaction highlighted advancements in swarm drone technologies and ISR capabilities, critical for ensuring persistent surveillance and robust communication support in harsh operational environments. #Drones#Defence

Indian Development News 🇮🇳

@developmentnewsindia · Post #44294 · 01.05.2026 г., 14:20

Major relief to India's drone industry Conflict in West Asia has severely impacted their supplies and deliveries, causing heavy penalties for delays beyond their control. The Ministry of Finance now clarifies: if your contract was disrupted by the West Asia situation, you will receive an additional 2 to 4 months and face no fines. Fair and practical. #Drones#policy

123•••89
ПретходнаСтраница 1 од 9Следна