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

Резултати

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

Пребарај: #ramazonnuri

当前筛选 #ramazonnuri清除筛选
IHMA | Dilfuza Ruzmetova

@IHMA_matbuotkotibi · Post #143 · 18.03.2025 г., 14:03

Ramazon nuri – ezgulik nuri Ramazon – bu mehr-oqibat, yaxshilik va iymon nuri bilan to‘lgan oy. Ijtimoiy himoya milliy agentligi «Ramazon nuri» videoroliklar turkumini taqdim etadi. Har bir hikoyada yaxshilikning insoniyatni birlashtirishini, avloddan-avlodga o‘tib borishini va har birimizda yashashini eslatuvchi ramz yashiringan. Birinchi roligimiz «An’analar nuri» orqali biz ichimizda yashayotgan va yaxshilik qilishga undaydigan merosning ahamiyati haqida hikoya qilamiz. Ramazon oyida biz kattalar o‘rgatgan saboqlarni eslaymiz: muhtojlarga yordam berish, yaxshilik ulashish, bir-birimizni qo‘llab-quvvatlash. Aynan shu an’analar hech qachon uzilmaydigan ezgulik zanjirini yaratadi. ✨ Ushbu Ramazonda boshqalar uchun nur bo’ling! #RamazonNuri#Yaxshilik

IHMA | Dilfuza Ruzmetova

@IHMA_matbuotkotibi · Post #913 · 23.02.2026 г., 03:41

#Ijtimoiy_rolik #RamazonNuri Ramazon – mehr-oqibat va saxovat oyi Muborak Ramazon oyida insoniylik, hamjihatlik va ezgulik qadri yanada yuksaladi. 🧠 Mazkur ijtimoiy rolik Ijtimoiy himoya milliy agentligi tomonidan amalga oshirilayotgan “Ramazon nuri” PR-kampaniyasi doirasida tayyorlangan bo‘lib, unda jamiyatimizdagi mehr-muruvvat, e’tibor va g‘amxo‘rlik qadriyatlari aks ettirilgan. 💚 Ramazon – nafaqat ro‘za tutish, balki bir-birimizni qo‘llab-quvvatlash, yordamga muhtoj insonlarga ko‘mak berish va qalblarga quvonch ulashish oyidir. 💚 “Ramazon nuri” kampaniyasining asosiy maqsadi — jamiyatda mehr va ijtimoiy birdamlik muhitini mustahkamlash, insoniy qadriyatlarni keng targ‘ib qilish va ezgu amallarni ilhomlantirishdir. 💚 Keling, bu oyda yaxshilik qilishga shoshilaylik, mehr ulashaylik va jamiyatimizda ezgulikni ko‘paytiraylik. #Ramazon#MehrVaMuruvvat#IjtimoiyHimoya#EzguAmallar#RamazonNuri