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

Резултати

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

Пребарај: #legkoenebo

当前筛选 #legkoenebo清除筛选
Лёгкое небо

@legkoenebo · Post #3668 · 25.03.2025 г., 09:59

📅Сегодня отмечается День истребительной авиации Это праздник настоящих воздушных воинов, которые ежедневно охраняют границы нашего неба, отстаивая его безопасность и свободу. Этот день посвящён мужеству и мастерству лётчиков-истребителей, их самоотверженности и преданности делу. Мы с благодарностью вспоминаем тех, кто ушёл в свой последний вылет, защищая Родину, и чествуем тех, кто продолжает нести службу, завоёвывая господство в воздухе и обеспечивая мирное небо над нашими головами. 🇷🇺 Выражаем благодарность @Prokhor_spotter за предоставленное фото Лёгкое небо | Подписаться #aviation#legkoenebo

Лёгкое небо

@legkoenebo · Post #3973 · 31.05.2025 г., 19:30

Дорогие подписчики, важная информация о нашем канале ✏️ ⏺Реклама Предыдущая публикация - новый формат рекламы с помощью РСЯ, направленный на заработок средств для более крутых розыгрышей и поощрения работы админов Для рекламы или ВП по прежнему писать в бота или личку главному админу, стоимость отправки - 3 звезды, если пишите по делу - звёзды возвращаю ⏺Бот Сегодня-завтра возможны перебои в работе, тк проводим технические работы по улучшению функционала бота ⏺Посты и админы Завтра, 01.06, в нашу команду вступают 3 новых админа 🔥 Постов будет больше, поэтому ожидаем повышение актива Всегда благодарны вашим звёздным реакциям ⏺Розыгрыши На прошлой неделе мы заколлабились с тем самым Aero Star и проводим масштабный розыгрыш с крутыми призами и ЭТО ТОЛЬКО НАЧАЛО 👀 Приглашайте друзей, чем больше человек в розыгрыше - тем больше крутых призов Всегда рады новым предложениям от вас 👉@Legkoenebo_bot👈 ________ А ведь завтра ровно год назад на канале было менее 60 человек.. А ведь завтра ровно год назад была первая реклама.. За год рост больше чем в 41 раз ❤️‍🔥 Так держать 📈 Лёгкое небо | Донат #aviation#news#legkoenebo

Лёгкое небо

@legkoenebo · Post #3807 · 29.04.2025 г., 18:59

Первый этап конкурса скриншотов завершен, переходим к оценке работ ✏️ 3 члена нашей редакции выставят оценку скриншотов по 10-ти бальной шкале. Результатом станет среднее арифметическое оценок трёх экспертов. Скрины, набравшие больше 6 баллов в номинации пк и 5 баллов в номинации мобильных симуляторов проходят во 2 этап - общественное голосование в канале. ❗Напоминаю, что при обнаружении накрутки голосов мы вправе исключить работу и/или участника розыгрыша. Желаю удачи! ✈️ Лёгкое небо #aviation#конкурс#legkoenebo

Лёгкое небо

@legkoenebo · Post #3666 · 24.03.2025 г., 16:08

Приглашаются эксперты! ✈️ 📌Что записано на видео, а так же предположите, в каком месте происходят действия? Лёгкое небо #aviation#legkoenebo#опрос

Лёгкое небо

@legkoenebo · Post #3660 · 23.03.2025 г., 12:26

Shirak Avia – армянская авиакомпания 🇦🇲 Shirak Avia – довольно молодая авиакомпания из Армении, которая начала свою деятельность в 2019 году. 📌Маршрутная сеть – авиакомпания ориентирована на развитие региональных и международных рейсов, расширяющих воздушное сообщение страны. Название авиакомпании – Shirak Avia получила свое название в честь Ширакской области, находящейся в Армении, где расположен второй по величине аэропорт – Гюмри. ✈️Флот - на данный момент авиакомпания использует для перевозки надёжные и проверенные временем самолёты, такие как Boeing 737-800\500. Лёгкое небо #legkoenebo#aviation#Boeing

Лёгкое небо

@legkoenebo · Post #3693 · 02.04.2025 г., 16:05

Такой интересный аэропорт? 🛫 А вот и нет, это торговый центр! Как думаете, в какой стране такая красота находится и хотели бы в ней побывать? Лёгкое небо | Подписаться #aviation#legkoenebo#quiz

Лёгкое небо

@legkoenebo · Post #3649 · 19.03.2025 г., 08:48

Время вопросов ⏱ Что за конструкция показана на видео и какую функцию она выполняет? *В каком именно аэропорту снято это видео? Лёгкое небо #aviation#legkoenebo#airport

ПретходнаСтраница 1 од 3Следна