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

Резултати

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

Пребарај: #ru

当前筛选 #ru清除筛选

19.04.26 Сумы - Мирополье Позиционные боевые действия в Сумской зоне безопасности. ВС РФ продвинулись на 1 км от демаркационной линии к Мирополью с восточного направления. Передовая позиция ВС РФ под огнём ВСУ. 1:26 50.993179,35.316483 Источник 21+ Геопривязка #ru

Hashtags

18.04.26 Краснополье - Таратутино Позиционные боевые действия в Сумской зоне безопасности. Передовая позиция ВС РФ в Таратутино подверглась обстрелу ВСУ. ВС РФ продвинулись в Сумской области на 3,5 км и достигли новых позиций в населённом пункте. 0:43 50.728385, 35.375816 Источник 21+ Геопривязка #ru

Hashtags

16.03.26 Северск - Резниковка Активные боевые действия в районе Северска. Пехотная атака ВС РФ в Резниковке. Штурмовая группа зачищает позицию ВСУ в жилой застройке и увеличивает зону контроля на 700 метров. 48.838569,37.977290 Источник https://t.me/OMSBr_123/1754 Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #50029 · 13.04.2026 г., 08:53

13.04.26 Великая Новосёлка - Александроград Активные боевые действия в районе Великой Новосёлки. Военнослужащие ВС РФ занимают новые позиции под огнём противника на рубеже Искра - Александроград. Увеличение зоны контроля ВС РФ на 2,5 км по фронту на левом берегу реки Волчья. 0:26 48.010070,36.619011 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #50008 · 12.04.2026 г., 18:00

12.04.26 Сумы - Мирополье Позиционные боевые действия в Сумской зоне безопасности. Военнослужащие ВС РФ попали под обстрел ВСУ западнее посёлка Мирополье. ВС РФ продвинулись в Сумской области увеличив зону контроля до 3 км от демаркационной линии. 51.037774, 35.344966 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49977 · 11.04.2026 г., 18:17

11.04.26 Константиновка - Долгая Балка Позиционные боевые действия в районе Горловки. Передовая позиция ВС РФ в жилой застройке Долгой Балки под огнём дронов ВСУ. ВС РФ продвинулись на 1 км к северу от Степановки и заняли новые позиции в южной части посёлка Долгая Балка. 0:14 48.481047, 37.607169 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49974 · 11.04.2026 г., 15:21

11.04.26 Краснополье - Новодмитровка Позиционные боевые действия в Сумской зоне безопасности. Штурмовые подразделения ВС РФ продвинулись более 4,5 км в направлении на Краснополье и заняли новые позиции в восточной части Новодмитровки. Передовая позиция ВС РФ в жилой застройке посёлка под обстрелом с дрона ВСУ. 1:38 50.75527, 35.39651 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49961 · 11.04.2026 г., 09:48

11.04.26 Константиновка - Степановка Позиционные боевые действия в районе Горловки. Передовая позиция ВС РФ в окрестностях Степановки подверглась обстрелу со стороны ВСУ. ВС РФ продвинулись более1.5 км и вышли на северные окраины Степановки. 0:39 48.473420,37.613850 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49702 · 06.04.2026 г., 13:38

06.04.26 Северск - Никифоровка Активные боевые действия в районе Северска. Атака ВС РФ пехотным подразделением севернее Никифоровки. Штурмовая группа зачищает позицию ВСУ. ВС РФ продвинулись около 2 км и увеличили зону контроля на рубеже Никифоровка - Каленики. 48.80452, 37.92016 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49698 · 06.04.2026 г., 07:50

06.04.26 Покровское - Берёзовое Позиционные боевые действия в Днепропетровской зоне безопасности. Передовые позиции ВС РФ в Берёзовом подверглись обстрелу ВСУ. ВС РФ заняли ряд новых позиций в посёлке увеличив зону контроля на 1 км. 0:19 47.871420,36.492084 1:13 47.874686,36.491471 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49339 · 31.03.2026 г., 17:03

31.03.26 Северск - Кривая Лука Активные боевые действия в районе Северска. Атака ВС РФ подразделением легких мотострелков около Кривой Луки. Штурмовик ВС РФ попал под обстрел ВСУ на трассе к посёлку. ВС РФ увеличили зону контроля выйдя на рубеж Каленики-Кривая Лука. 0:41 48.860286,38.001178 0:43 48.859195,37.930673 Источник 21+ Геопривязка Геопривязка так же по https://t.me/creamy_caprice/11418?single #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49132 · 27.03.2026 г., 09:17

27.03.26 Красноармейск - Белицкое Позиционные боевые действия в районе Красноармейска. ВС РФ заняли ряд новых позиций в восточной части Белицкого. Передовые позиции в жилой застройке под огнём ВСУ . Продвижение ВС РФ более 600 метров. 0:06 48.40801, 37.1914 0:18 48.40476, 37.19765 Источник 21+ Геопривязка #ru

Hashtags

123•••10•••1516
ПретходнаСтраница 1 од 16Следна