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

Резултати

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

Пребарај: #sunteccity

当前筛选 #sunteccity清除筛选
Rui's Ramble

@RsRamble · Post #813 · 03.12.2024 г., 17:09

"338 up! Suppressing!" 快一个月没修图了,先拿个简单的练练手 是我错觉嘛,枪管歪的? 是这老哥的原创角色↓↓↓↓ 武器他自己说用nerf blaster玩具枪爆改的,我反正信了 1st Sgt Marcel Pieskowicz of the Federation Marine Corps 1st Armoured Regiment Anime Festival Asia 2024 D3 (2024-12-01) #originalcharacter#milsim#cosplay#animeconvention#sunteccity#suntecconventioncentre#afasg#afasg24#singapore

Rui's Ramble

@RsRamble · Post #856 · 31.01.2025 г., 08:40

普通人出秦彻…我哪懂啊,我就是个破按快门的 不过这回试了下midjourney生成背景,然后匹配颜色,比较糙,流程还有优化空间 恋与深空的秦彻 Suntec City (2025-01-04) #sylus#秦彻#シン#loveanddeepspace#恋与深空#cosplay#game#sunteccity#singapore

Rui's Ramble

@RsRamble · Post #786 · 04.11.2024 г., 17:57

"We are born to make history." 近期沉迷动画+尝试新修图风格,所以出图超级慢,这张依旧是黄白蓝 原本是平行光照亮手和半边脸,经提示不好康后改成的这样 冰上的尤里的维克多•尼基弗洛夫 Gamescom Asia 2024 D2 (2024-10-19) #victornikiforov#ヴィクトルニキフォロフ#yurionice#ユーリonice#cosplay#anime#animeconvention#sunteccity#gamescomasia#gamescomasia2024#singapore

Rui's Ramble

@RsRamble · Post #833 · 25.12.2024 г., 11:43

"Abomination!? I'm absolutely radiating! LOOK AT ME!! YOU CALL ME ABOMINATION!?" Fear & Hunger 2: Termina的Samarie EOY Japanese Culture Festival D2 (2024-12-22) #samarie#fearandhunger#fearandhungertermina#cosplay#game#animeconvention#sunteccity#suntecconventioncentre#theeoy#theeoy2024#singapore

Rui's Ramble

@RsRamble · Post #825 · 25.12.2024 г., 06:32

「他留下的东西很少,我算一个。」 文豪野犬的中原中也 EOY Japanese Culture Festival 2024 D2 (2024-12-22) #nakaharachuuya#中原中也#bungostraydogs#文豪ストレイドッグス#cosplay#anime#animeconvention#sunteccity#suntecconventioncentre#theeoy#theeoy2024#singapore

Rui's Ramble

@RsRamble · Post #782 · 28.10.2024 г., 15:05

「那么,是谁想与重力一战?」 其实拍了好多,但我修不过来…… 文豪野犬的中原中也 Gamescom Asia D2 (2024-10-19) #nakaharachuuya#中原中也#bungoustraydogs#bungostraydogs#文豪ストレイドッグス#cosplay#anime#animeconvention#sunteccity#gamescomasia#gamescomasia2024#singapore

Rui's Ramble

@RsRamble · Post #706 · 24.09.2024 г., 14:14

"Victory is a far-flung shore. Mark the skies, abide the tides, trust to your crew—and she will be yours." 最终幻想14的梅尔维布·布鲁菲斯维因 Makers Quest SG 2024 (2024-09-14) #merlwyb#merlwybbloefhiswyn#ffxiv#finalfantasy#finalfantasyxiv#cosplay#game#animeconvention#sunteccity#markersquestsg#msqsg2024#singapore

Rui's Ramble

@RsRamble · Post #841 · 28.12.2024 г., 08:23

「可是…为什么,那么遥远呢」 特效是老师自己加的,超绝,我还要多学 宝石之国的磷叶石 Anime Festival Asia Singapore 2024 D3 (2024-12-01) #phosphophyllite#フォスフォフィライト#housekinokuni#landofthelustrous#宝石の国#cosplay#anime#animeconvention#sunteccity#suntecconventioncentre#afasg#afasg2024#singapore

Rui's Ramble

@RsRamble · Post #968 · 18.04.2025 г., 07:07

「紫藤织幕,镜水藏星;青衣载风,凌波绘梦。」 换背景没有想象中好用,得想个办法减少手工介入,不然太慢了 原神的倾奇者 仁茜嘻乐 Ren Qian Xi Le D2 (2025-04-13) #kabukimono#scaramouche#scara#倾奇者#白散#流浪者#genshinimpact#原神#cosplay#game#rqxl#sunteccity#suntecconventioncentre#singapore

Rui's Ramble

@RsRamble · Post #997 · 29.04.2025 г., 16:58

「想挑战我?先试试能否在我的重力下站稳。」 2315看到对面消息,0012这边ig送走,好个一小时极限修图 昨天中也生日,下次怎样也得要杯奶茶 享用麦麦后又微调了下 文豪野犬的中原中也 Hanami Mkt 2025 (2025-02-09) #nakaharachuuya#中原中也#bungostraydogs#文豪ストレイドッグス#cosplay#anime#animeconvention#hanamimkt#hanamimkt2025#valentinevibes#artistalley#singaporeevent#sunteccity#suntecconventioncentre#singapore

12
ПретходнаСтраница 1 од 2Следна