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

Резултати

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

Пребарај: #talabalarkuni

当前筛选 #talabalarkuni清除筛选

#Rektor_tabrigi Aziz talabalar! Sizlarni 17-noyabr – Xalqaro talabalar kuni munosabati bilan chin qalbimdan samimiy tabriklayman. Bugungi kunda Buxoro davlat universiteti jonkuyar, intiluvchan va maqsadli yoshlar bilan faxrlanadi. Sizlarning bilimga bo‘lgan ishtiyoqingiz, yangilik yaratishga bo‘lgan intilishingiz, ilmiy va ijodiy izlanishlaringiz nafaqat universitetimiz, balki butun jamiyatimiz taraqqiyotida muhim o‘rin tutadi. Universitetimizda sizlar uchun yaratilayotgan sharoitlar, jahon ta’lim standartlariga mos infratuzilma, xalqaro hamkorlik loyihalari va zamonaviy ta’lim texnologiyalari sizlarning barkamol mutaxassis va yetuk shaxs bo‘lib yetishishingizga xizmat qiladi. Sizlarning yutuqlaringiz – bizning eng katta muvaffaqiyatimizdir. Hurmatli talaba-yoshlar! Sizlarga mustahkam salomatlik, o‘qishlaringizda ulkan zafarlar, ezgu orzu-intilishlaringizning ro‘yobga chiqishini tilayman. Har bir kuningiz yangi g‘oyalar, samarali izlanishlar va ilhomli mehnat bilan boy bo‘lsin. Bayramingiz muborak bo‘lsin, aziz talabalar! Buxoro davlat universiteti sizlar bilan faxrlanadi! Obidjon Xamidov O'zLiDeP Buxoro viloyati Kengashi raisi, xalq deputatlari viloyat Kengashi deputati, Xalq deputatlari viloyat Kengashining mahalliy byudjet, tadbirkorlikni rivojlantirish va iqtisodiy islohotlar masalalari bo‘yicha doimiy komissiyasi raisi, Buxoro davlat universiteti rektori iqtisodiyot fanlari doktori, professor #BuxDU95yilligi#talabalarkuni Bizni kuzatishda davom eting: 🌐Telegram🌐Facebook

17-NOYABR — XALQARO TALABALAR KUNI! 🌟 Bugun bilim, izlanish va orzular sari dadil qadam tashlayotgan barcha talabalarning bayrami! 🏢 Al-Xorazmiy universiteti jamoasi siz — ertangi kun bunyodkorlarini chin dildan tabriklaydi. Sizning har bir muvaffaqiyatingiz — Vatan ravnaqi uchun qo‘yilgan ulkan qadamdir. ✨ Intilishlaringiz bardavom bo‘lsin! Har bir kuningiz yangi g‘oya, yangi imkoniyat va yangi yutuqlarga boy bo‘lsin! Talaba bo‘lish — mas’uliyat, mehnat va katta orzu demak. Biz esa sizning har bir yutug‘ingizdan faxrlanamiz! 🔁English ➖➖➖➖➖➖➖➖➖➖ #TalabalarKuni#17Noyabr#AlXorazmiyUniversiteti Bizning ijtimoiy tarmoqlarimiz: Veb-sayt | Telegram | Instagram | Facebook | Aloqa-bot

©Husniddin Isakov

@isakovxusniddin · Post #7694 · 16.11.2024 г., 17:26

Xalqaro talabalar kuni munosabati bilan Prezidentimiz yordamchilari Saida Shavkatovna bilan bo’lib o’tgan tarixiy uchrashuvdan esdalik rasmlar. Uchrashuvda talabalar tomonidan haqiqatdan muhim, dolzarb masalalar bo’yicha takliflar ilgari surildi. Bu uchrashuvdan energiya oldik, yangi maqsadlar, xulosalar bilan yo’limizda davom etamiz! Saida Shavkatovna bilan ilk marotaba 2019-yili Respublika Sardorlar forumida uchrashgan edik, rizqimiz bor ekan yana bir stol atrofida uchrashishlik nasib qildi! #saidamirziyoyeva#talabalarkuni#yoshlar @isakovxusniddin