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

Резултати

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

Пребарај: #mbg

当前筛选 #mbg清除筛选
СОЛОДИН LIVE

@goodtraders · Post #8551 · 20.09.2024 г., 13:31

#MBG#Германия#авто 🔴 Акции Mercedes-Benz в Германии упали в пятницу после того, как производитель автомобилей класса люкс снизил прогноз прибыли на весь год. 👉 Автопроизводитель пересмотрел свой скорректированный прогноз доходности продаж до 7,5%-8,5%, что является резким падением по сравнению с предыдущим прогнозом в 10%-11%. 👆 Посмотрите на график: EPS успел уже упасть на почти 50% - и лично мне кажется, что это только начало... Самые дорогие товары длительного пользования первыми реагируют на снижение спроса - у людей просто нет ни возможности ни желания покупать эти товары по современным ценам. Падение покупательской способности населения обычно вызывает рецессию в экономике. За авто следом пойдёт электроника, дискреционные люксовые товары (у топовых брендов уже сокращаются продажи). Ждёмс...

嗨皮快乐屋北京

@hpklwbj · Post #168130 · 25.03.2026 г., 03:23

北京鸡哥🏠在读生🎨 07可看证 极品幼白纯 Age:07年 Height:166cm Cheat:D Weight:42kg ✨明朗干净 配合度高 美丽在线🍑雪白牛奶🥛肌. 皮肤超細膩 白皙滑嫩 🌟 南方小女孩小骨架, 所见即所得 🍭🈵️🈵️女友感 初恋白月光 极品女友体验 只接待高素质K 紧致 一碰就哗哗流水 • 𝐇𝐨𝐛𝐛𝐲兴趣/ 旅游 画画 阅读 烘焙… 等风等雨等你 💗 爆汁水蜜桃🍑 #朝阳双井 #首城国际 #白幼瘦#萝莉#mbg#学生

Crypto Headlines

@market_headlines · Post #27746 · 16.03.2026 г., 21:25

#анлок 🔓 ТОП разблокировок токенов с 16 марта по 23 марта! Cliff Unlocks: ▫️#ZRO - $55,53m ▫️#RIVER - $46,47m ▫️#BARD - $35,03m ▫️#ARB - $10,00m ▫️#MBG - $9,42m ▫️#YZY - $6,80m ▫️#KAITO - $6,45m Linear Unlocks: ▫️#RAIN - $86,51m ▫️#RIVER - $46,47m ▫️#SOL - $43,80m ▫️#CC - $28,89m ▫️#TRUMP - $25,63m ▫️#WLD - $13,64m ▫️#DOGE - $9,51m ▫️#ASTER - $7,39m ▫️#TAO - $7,13m P.S. Cliff Unlocks – разблокировка крупной порции токенов единовременно в конкретную дату. Linear Unlocks – постепенная разблокировка токенов в течение определенного периода (обычно каждый день или каждую неделю по части). Crypto Headlines

Crypto Headlines

@market_headlines · Post #28563 · 20.04.2026 г., 22:40

#анлок 🔓ТОП разблокировок токенов с 20 по 27 апреля! Cliff Unlocks: ▫️#UDS - $42,17m ▫️#ZRO - $41,39m ▫️#MBG - $17,45m ▫️#H - $10,98m ▫️#XPL - $9,28m ▫️#HYPER - $8,62m ▫️#LMTS - $8,25m ▫️#INIT - $7,45m ▫️#KAITO - $7,34m ▫️#SOSO - $5,65m ▫️#MON - $5,12m Linear Unlocks: ▫️#RAIN - $71,82m ▫️#SOL - $39,02m ▫️#CC - $28,53m ▫️#TRUMP - $17,66m ▫️#WLD - $9,65m P.S. Cliff Unlocks – разблокировка крупной порции токенов единовременно в конкретную дату. Linear Unlocks – постепенная разблокировка токенов в течение определенного периода (обычно каждый день или каждую неделю по части). Crypto Headlines