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

Пребарај: #ijtimoiymasuliyat

当前筛选 #ijtimoiymasuliyat清除筛选

🎮Qlever reklama va ijtimoiy mas'uliyat uchun imkoniyatlar ochadi! Qlever.Asia - bu Markaziy Osiyoda 200 000 dan ortiq foydalanuvchilar va O'zbekistonda 40 000 dan ortiq ro'yxatdan o'tgan o'yinchilar auditoriyasiga ega innovatsion ta'limiy platforma. Endilikda brendlarda nafaqat reklama joylashtirish, balki tanqidiy tafakkur va mediasavodxonlikni qo'llash orqali ijtimoiy mas'uliyatni namoyon qilish imkoniyati mavjud. 🐕Reklama formatlari: ✅Platformada reklama materiallarini joylash (yangiliklar, PR-maqolalar) ✅Sovg'alarga homiylik qilish (brend mahaulotlar, vaucherlar, gadjetlar) ✅Ijtimoiy tarmoqlarga integratsiya (postlar, reelslar) 🤝 Ijtimoiy loyihani qo'llab-quvvatlang! Qlever bilan hamkorlik — bu nafaqat marketing foydasi, balki biznesingizning ijtimoiy yo'nalganligini ta'kidlash imkoniyati. Siz mintaqada ta'lim va tanqidiy tafakkurga hissa qo'shib, loyiha rivojini qo'llashingiz mumkin. 📥 Hamkorlik va qo'llab-quvvatlash masalalari bo'yicha TG (@DaryaNicolayevna) yoki [email protected] pochta orqali murojaat qiling! 🔺🔺🔺 🎮Qlever открывает возможности для рекламы и социальной ответственности! Qlever.Asia — это инновационная образовательная платформа с аудиторией более 200 000 пользователей в Центральной Азии и около 40 000 зарегистрированных игроков в Узбекистане. Теперь у брендов есть возможность не только разместить рекламу, но и продемонстрировать социальную ответственность, поддержав развитие критического мышления и медиаграмотности. 🐕 Форматы рекламы: ✅ Размещение рекламных материалов на платформе (новости, PR-статьи) ✅ Спонсирование призов (брендированные товары, ваучеры, гаджеты) ✅ Интеграции в социальные сети (посты, рилсы) 🤝Поддержите социальный образовательный проект! Партнерство с Qlever — это не только маркетинговая выгода, но и возможность подчеркнуть социальную ориентированность вашего бизнеса. Вы также можете сделать пожертвование на развитие проекта, внеся вклад в образование и критическое мышление в регионе. 📥 По вопросам сотрудничества и поддержки пишите в TG (@DaryaNicolayevna) или на почту [email protected]! #Реклама#Партнерство#СоциальнаяОтветственность#Qlever#Reklama#Hamkorlik#IjtimoiyMasuliyat

QLEVER

@qleveruz · Post #256 · 25.02.2025 г., 14:17

🎮Qlever reklama va ijtimoiy mas'uliyat uchun imkoniyatlar ochadi! Qlever.Asia - bu Markaziy Osiyoda 200 000 dan ortiq foydalanuvchilar va O'zbekistonda 40 000 dan ortiq ro'yxatdan o'tgan o'yinchilar auditoriyasiga ega innovatsion ta'limiy platforma. Endilikda brendlarda nafaqat reklama joylashtirish, balki tanqidiy tafakkur va mediasavodxonlikni qo'llash orqali ijtimoiy mas'uliyatni namoyon qilish imkoniyati mavjud. 🐕Reklama formatlari: ✅Platformada reklama materiallarini joylash (yangiliklar, PR-maqolalar) ✅Sovg'alarga homiylik qilish (brend mahaulotlar, vaucherlar, gadjetlar) ✅Ijtimoiy tarmoqlarga integratsiya (postlar, reelslar) 🤝 Ijtimoiy loyihani qo'llab-quvvatlang! Qlever bilan hamkorlik — bu nafaqat marketing foydasi, balki biznesingizning ijtimoiy yo'nalganligini ta'kidlash imkoniyati. Siz mintaqada ta'lim va tanqidiy tafakkurga hissa qo'shib, loyiha rivojini qo'llashingiz mumkin. 📥 Hamkorlik va qo'llab-quvvatlash masalalari bo'yicha TG (@DaryaNicolayevna) yoki [email protected] pochta orqali murojaat qiling! 🔺🔺🔺 🎮Qlever открывает возможности для рекламы и социальной ответственности! Qlever.Asia — это инновационная образовательная платформа с аудиторией более 200 000 пользователей в Центральной Азии и около 40 000 зарегистрированных игроков в Узбекистане. Теперь у брендов есть возможность не только разместить рекламу, но и продемонстрировать социальную ответственность, поддержав развитие критического мышления и медиаграмотности. 🐕 Форматы рекламы: ✅ Размещение рекламных материалов на платформе (новости, PR-статьи) ✅ Спонсирование призов (брендированные товары, ваучеры, гаджеты) ✅ Интеграции в социальные сети (посты, рилсы) 🤝Поддержите социальный образовательный проект! Партнерство с Qlever — это не только маркетинговая выгода, но и возможность подчеркнуть социальную ориентированность вашего бизнеса. Вы также можете сделать пожертвование на развитие проекта, внеся вклад в образование и критическое мышление в регионе. 📥 По вопросам сотрудничества и поддержки пишите в TG (@DaryaNicolayevna) или на почту [email protected]! #Qlever#Реклама#Партнерство#СоциальнаяОтветственность#Qlever#Reklama#Hamkorlik#IjtimoiyMasuliyat