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 слични објави

Пребарај: #teachers

当前筛选 #teachers清除筛选

Qadrli ustoz va murabbiylar! 💟Bugungi ulug‘ va qutlug‘ kunda sizlarga cheksiz minnatdorlik bildiramiz. Sizning mehr va zahmatingiz, tinimsiz izlanish va sabr-toqatingiz bilan jamiyatimizda ma’naviyat va ma’rifat ziyosi yorib turibdi. Siz faqat bilim emas, balki hayot saboqlarini ham o‘rgatasiz, har bir shogirdga qanot bag‘ishlaysiz, ularni oliy maqsadlarga etaklaysiz. Sizning mehribon dilingiz va g‘amxo‘rlikka to‘la qalbingiz biz uchun beqiyos qimmatdir. Har bir shogird yutug‘i — siz uchun sharaf, har bir muvaffaqiyat — siz uchun iftixordir. Sizga sog‘lik-omonlik, tinch va barqaror hayot, shogirdlaringiz esa sizga doimiy iftixor olib kelsin! 👏O‘qituvchi va murabbiylar kuni muborak bo‘lsin! Уважаемые учителя и наставники! 🔴В этот великий и благословенный день мы выражаем вам безграничную благодарность. Благодаря вашей доброте и труду, неустанному поиску и терпению, в нашем обществе сияет свет духовности и просвещения. Вы учите не только знаниям, но и жизненным урокам, даете крылья каждому ученику, ведете его к высоким целям. Ваше доброе и заботливое сердце бесценно для нас. Каждый успех ученика - это честь для вас, каждый успех - это гордость для вас. Пусть вам сопутствуют здоровье и благополучие, мирная и стабильная жизнь, а ваши ученики - вечная гордость! 🎉С Днём учителей и наставников! #GraduateSchool#Teachers#Mentors#Day 🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube

Hurmatli Ustozlar! 🟨 Ushbu qutlug‘ kunda sizlarga bebaho mehnatingiz, sabr-toqatingiz va fidoyiligingiz uchun chuqur minnatdorchilik bildiramiz. Siz shunchaki bilim bermaysiz – siz har bir tinglovchini ilhomlantirasiz, qo‘llab-quvvatlaysiz va salohiyatini shaxsiy o‘sishiga yordam berasiz. Sizning sa’y-harakatlaringiz kelajakni yaratadi, sizning donoligingiz va g‘amxo‘rligingiz bir umr qalbimizda. 🟪O‘qituvchi va murabbiylar kuni muborak! Erishgan natijalaringiz sizga quvonch va faxr olib kelsin! Дорогие учителя и наставники! ⬛️ В этот особенный день хочется выразить вам слова глубокой благодарности за ваш неоценимый труд, терпение и преданность делу. Вы не просто даёте знания — вы вдохновляете, поддерживаете и помогаете раскрыть потенциал каждого слушателя. Ваши усилия создают будущее, а ваша мудрость и забота остаются в сердцах на всю жизнь. 🔴С Днём учителя и наставника! Пусть каждый день приносит вам радость и гордость за ваши достижения! #GraduateSchool#Teachers#Mentors#Day 🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube

Social Justice Watch

@social_justice_watch · Post #18128 · 05.07.2023 г., 06:14

When kids have big emotions, we tend to think they are being overly sensitive, that they need more resilience. Most of the time it is because there is a lot happening for the child that we can't see and don't know, that is pushing them beyond their means of coping. Instead we can change the response from they are overreacting, to seeing a child who has a lot happen for them, they are doing the best they can. They need our help not judgement. #parenting#positiveparenting#gentleparenting#resilience#respectfulparenting#psychologist#play#playtherapy#childdevelopment#childtherapy#parentingtips#teachers#asd#family#life#adhd#mumlife#momlife#dads#consciousparenting https://www.instagram.com/p/Ctd93W8vEM9/