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

Резултати

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

Пребарај: #vivi

当前筛选 #vivi清除筛选
Airdrop Presents 🗽

@airdrop_presents · Post #2200 · 17.01.2023 г., 17:09

🪂Airdrop ~ VIVI 💲Reward: 200,000 #VIVI 👨‍👨‍👧 Referral: ➕Top 60 referrals will receive $70 in BUSD 💎 Presents Ratings: ⭐️⭐️⭐️ 👑Winners: 1,000 Lucky winners ➡️Airdrop Page For VIVI Click Here 📚 How to Join Airdrop? ↪️ Complete all tasks on the airdrop site ↪️ Submit Bep20 wallet address 📚 How to Join Referral? - User can join referral after make all stepts on Airdrop. ✏️Notes: Make sure to complete all tasks to receive rewards. ℹ️Distribution date: Will be announced by the project team after the end of the airdrop.

Hashtags

#秀人网 模特 1.#杨晨晨 2.#玥儿玥 3.#林星阑 4.#李丽莎 5.#田兮白 6.#江真真 7.#王馨瑶 8.#唐安琪 9.#小蛮妖 10. #雨儿酱 11.#陆萱萱 12. #candy糖糖 13. #阿姣 14. #伊诺 15.#周妍希 16. #周于希 17.#甜仔 18. #鱼子酱 19. #软软 20.#田冰冰 21. #果儿Victoria 22.#郑颖姗 23.#白如雪 24.#娜娜子 25.#美七 26.#晚苏 27.#艾莉 28.#可可芝 29.#小逗逗 30.#阿朱 31.#lucky 32.#清妙 33.#星星baby 34.#袁圆 35.#李若汐 36.#金小依 37.#唐翩翩 38.#奶芙乔乔 39.#蛋蛋宝 40.#心妍小公主 41.#曼柔 42.#李金金 43.#希雅sia 44.#软糖爱喝奶 45.#熊小诺 46.#白洁 47.#周周不吃香菜 48.#柚琪 49.#苏苏阿 50.#抖娘利世 51.#小薯条 52.#潘娇娇 刚 53.#林杉杉 54.#谭小灵 55.#林幼一 56.#徐莉芝 57.#奈汐酱 58.#颜瑜 59.#娜依灵儿 60. #小波多 61.#李雅 62.#易阳 63.#时安安 64.#lucky 65.#摄影师 66.#妲己_Toxic 67.#绮里嘉 68.#金允希 69.#梨霜儿 70.#江淑影 71.#白浅浅 72.#林昔予 73.#黄可#赵惟依 74.#白一含 75.#小热巴 76.#于姬 77.#筱慧 78.#木森vita 79.#奶油猫呀 80.#shelly诗莉吖 81.#楠芝 82.#艾小青 83.#Z杯悠悠 84.#诗诗 85.#月音瞳 86.#葛征 87.#智恩baby 88.#安安 89.#小楠 90.#董顾顾 91.#vivi 92.#娅轩 93.#林美惠子 94.#王瑞儿 95.#王婉悠 96.#甲乙丙我姓丁 97.#娜比 欢迎大家来到秀人网模特专辑频道 预览群都是简短的简单介绍 经过多年的沉淀 花费大量的时间金钱 收集了200多位模特由出道至今 所有作品 电报群很多 都是残差不齐的 在秀人网 模特资源这方面算是比较完整的 由于收集模特视频 需要大量金钱和时间 我也不能太及时更新 要是有你们的支持 我会多花点时间给大家找更多精彩的内容 想要白嫖的看看预览群就好 像看更多精彩内容 可以赞助进群 现在优惠活动价 200 @mtv520b (支付宝口令红包或者 微信支付宝扫码 )进赞助群 (好的模特视频 一个都要200到2k左右 你随便下载一个都值回票价)支持(下载 转发 收藏) 防失恋群 @mm520b