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

Пребарај: #mediadialog

当前筛选 #mediadialog清除筛选

📣 Ekspertlar uchrashuviga taklif qilamiz! Mahalla byudjetini boshqarish samaradorligi O‘zbekistonda muhim masalalardan biridir. Haqiqiy shaffoflik va samarali boshqaruvni taʼminlash yo‘lida "MediaDialog: Shaffoflik va boshqaruv" ekspertlar platformasi sizni 29-aprel kuni Toshkentda bo‘lib o‘tadigan muhim muhokamaga chorlaydi. Muhokama mavzusi: "Mahalla byudjetini boshqarish samaradorligi: islohotlarning dastlabki yili va ularning jamiyat hayotiga ta’siri" Ushbu muhim muloqotda Zamonaviy jurnalistikani rivojlantirish markazi, O‘zbekiston mahallalari uyushmasi, O‘zbekiston Respublikasi Iqtisodiyot va moliya vazirligi kabi davlat idoralari, shuningdek NNT vakillari hamda jurnalist va blogerlar islohotlar, byudjetni boshqarish, mavjud muammolar va medianing bu jarayondagi o‘rni haqida erkin fikr almashadilar. 🗓 Vaqti: 29-aprel, 09:00'da 📍 Manzil: "ATECA" mehmonxonasi, Toshkent sh. Ro‘yxatdan o‘tish: https://forms.gle/aMZYmrJDNrmyTf4w6 Bu – O‘zbekistonda mahalliy boshqaruvda shaffoflik va samaradorlik sari muhim qadam! #MediaDialog#MahallaByudjeti#Shaffoflik#Boshqaruv#FCDO#EGED#MJDC __________________________________________ 📣 Приглашаем на экспертную встречу! Эффективность управления бюджетом махалли является одним из важных вопросов в Узбекистане. Платформа экспертов "МедиаДиалог: Прозрачность и управление" приглашает вас 29 апреля в Ташкент на важное обсуждение путей к обеспечению реальной прозрачности и эффективного управления. Тема обсуждения: «Эффективность управления бюджетом махалли: первый год реформ и их влияние на жизнь сообществ» В ходе открытого диалога представители таких государственных структур, как ЦРСЖ, Ассоциация махаллей Узбекистана, Министерство экономики и финансов Республики Узбекистан, представители ННО, а также журналисты и блогеры обменяются мнениями о реформах, управлении бюджетом, существующих проблемах и роли медиа в этом процессе. 🗓 Дата: 29 апреля, 09:00 📍 Место: Отель “ATECA”, г. Ташкент Регистрация: https://forms.gle/aMZYmrJDNrmyTf4w6 Это — важный шаг на пути к прозрачности и эффективности в местном самоуправлении в Узбекистане! #УправлениеМахаллей#Прозрачность#МедиаДиалог#FCDO#EGED#MJDC

"MediaDialog" doirasida muhim muloqot boʻlib oʻtmoqda Ayni payt "Mahalla byudjetini boshqarish samaradorligi: islohotlarning dastlabki yili va ularning jamiyat hayotiga ta’siri" mavzusidagi qizgʻin dialog boʻlib oʻtyapti. Unda O‘zbekiston mahallalari uyushmasi, O‘zbekiston Respublikasi Iqtisodiyot va moliya vazirligi vakillari qisqacha soʻzga chiqmoqda. Jurnalistlar hamda jamoatchilik faollari yangi "Mahalla byudjeti" tizimining qanday ishlashi, shakllantirilish manbalari va mavjud cheklovlar haqida erkin fikr almashmoqda. #MediaDialog#MahallaByudjeti#Shaffoflik#Boshqaruv#FCDO#EGED#MJDC -- -- -- В рамках "МедиаДиалог" проходит важный диалог В настоящее время идет оживленное обсуждение на тему: «Эффективность управления бюджетом махалли: первый год реформ и их влияние на жизнь сообществ». На встрече выступают представители Ассоциации махаллей Узбекистана, Министерства экономики и финансов Республики Узбекистан. Журналисты и активисты гражданского общества обмениваются мнением о том, как работает новая система "Махаллинский бюджет", какие у неё источники формирования и существующие ограничения. #МедиаДиалог#БюджетМахалли#Прозрачность#Управление#FCDO#EGED#MJDC