Установить свойства виджета в 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
⚡️Внимание!
📌 Приём заявок на участие в блицконкурсе «Победа начинается с тебя» продлен до 31 мая 2024.
👉🏻 Не пропустите уникальную возможность и оставьте след в истории нашей страны!
🕊 Мы помним о людях, отдавших свою жизнь за мирное небо над нашими головами. И призываем вас вместе с нами бережно хранить память о великих подвигах тех людей, чтобы дети и внуки наши могли рассказать об этом величии своим детям. Да не прервётся связь поколений!
✅ Прием работ до 31.05.2024
👤 Участником может стать любой желающий в возрасте от 7 лет до 21 года
➡Загружайте свои работы на страницах:
📸 конкурс фотографий: https://festfoto.ru/contests/103625/
📹 конкурс видеороликов: https://festfoto.ru/videos/103626/
🔗 Подробные правила: https://festfoto.ru/upload/iblock/f29/f29c6df9fcf8afc2bf5416238d5c8b32.pdf?v=1715678370
#центртворчествагермес#центргермес#гермессао#ДопОбразование#ДОНМ#фестфото#фотографиякакобразмира#festfoto#festfotoXVI#festfoto16
«Почему огонь полон для нас такой неизъяснимой прелести? Что влечёт к нему и старого, и малого? Огонь — это вечное движение.»
Рэй Брэдбери
🔥 Тематический конкурс фотографий и видеороликов «Огонь – друг, огонь – враг»
Огонь – пугающая и манящая стихия. Стихия жизни и разрушения. Всё, что связано с огнем, веками привлекает к себе внимание людей, пугает, восхищает и вдохновляет на творчество. Мы предлагаем вам тоже вдохновиться огненной темой.
Враг огонь нам или друг? Может ли человек в 21-м веке покорить эту огненную стихию? Ждём ответы в ваших работах в тематическом блицконкурсе!
Тематический блицконкурс фотографий и видеороликов по противопожарной тематике «Огонь – друг, огонь – враг» проводится в рамках открытого детско-юношеского фестиваля «Фотография как образ мира» для детей и молодёжи, готовых отразить в своем творчестве отношение к проблеме пожарной безопасности в современном мире.
Конкурсная работа должна содержать противопожарную тематику, включая проблемы пожарной безопасности, причины возникновения пожаров, меры по их предотвращению, охрану окружающей среды.
Конкурсные работы должны быть оригинальными и отражать отношение автора к проблеме пожарной безопасности.
⏳Сроки проведения конкурса: с 1 по 30 апреля 2024
➡️Возраст участников: от 7 лет до 21 года
📌 Загрузка работ на страницах конкурса:
📸 фотоконкурс – https://festfoto.ru/contests/103628/
📹 видеоконкурс – https://festfoto.ru/videos/103629/
🔗 Подробные правила участия
👉🏻 Участвуйте, не упускайте возможность увидеть свои работы на выставках и кинопоказах фестиваля в парках и на крупных выставочных площадках Москвы, на виртуальных выставках.
#центртворчествагермес#центргермес#гермессао#ДопОбразование#ДОНМ#фестфото#фотографиякакобразмира#festfoto#festfotoXVI#festfoto16
⚡️Блицконкурс «Победа начинается с тебя»
Будущее – отражение нашего прошлого, а значит забывать прошлое нельзя!
В честь празднования 79-ой годовщины Победы в Великой Отечественной войне приглашаем всех неравнодушных принять участие в блицконкурсе «Победа начинается с тебя»!
Если ты хочешь перемену в будущем – стань этой переменой в настоящем. Покажи своё отношение к подвигу прошлых поколений, покажи, что значит Победа, вспомни со всей страной события тех лет.
Давайте вместе через фотографии и видеоролики покажем миру цену подвига нашего народа и то, что современное поколение вкладывает в понятие Великая Победа!
Мы верим в вас – наших современников. Уверены, что с помощью творчества вы продемонстрируете свое уважение к великому подвигу и веру в будущее!
⌛️Сроки приема работ: 01.04.2024 – 12.05.2024
➡️Участником может стать любой желающий в возрасте от 7 лет до 21 года
📌 Загружайте свои работы на страницах:
📸 конкурс фотографий: https://festfoto.ru/contests/103625/
📹 конкурс видеороликов: https://festfoto.ru/videos/103626/
🔗Подробные правила
#центртворчествагермес#центргермес#гермессао#ДопОбразование#ДОНМ#фестфото#фотографиякакобразмира#festfoto#festfotoXVI#festfoto16
⚡️Внимание!
❗️Приём заявок на участие в 16-м фестивале «Фотография как образ мира» продлевается до 30 апреля 2024.
👉🏻 Кто ещё не успел принять участие, у вас появился шанс!
Загружайте свои работы на страницы конкурсов:
📸 конкурс фотографий https://festfoto.ru/nominations/
📹 конкурс видеороликов https://festfoto.ru/videos/
🔗Подробные правила участия по ссылке: https://festfoto.ru/festival/rules.pdf?v=1680005540
Ждём ваши работы!
#центртворчествагермес#центргермес#гермессао#ДопОбразование#ДОНМ#фестфото#фотографиякакобразмира#festfoto#festfotoXVI#festfoto16
🎄🍊✨ Новый год и Рождество отгремели, но зима ещё в самом разгаре. Самое время вспомнить волшебные праздничные дни и поймать в объектив красоту уходящей зимы.
☃ Эта зима выдалась снежной и особенно прекрасной. Предлагаем выразить свои эмоции и впечатления от этой волшебной поры!
👉 Напоминаем – до 29 февраля 2024 на сайте www.festfoto.ru продолжается прием работ в конкурсы фотографий и видеороликов на новогоднюю и рождественскую тематику.
КОНКУРС «ПУТЕШЕСТВИЕ В РОЖДЕСТВО»
📸 Загрузка фоторабот – ЗДЕСЬ
📹 Загрузка видеоработ – ЗДЕСЬ
КОНКУРС «РОЖДЕСТВЕНСКАЯ ФОТООХОТА»
🐿 Номинация «Зверушка на кормушке» – ЗДЕСЬ
❄ Номинация «Снег идет…» – ЗДЕСЬ
📝 Подробные правила смотрите на страницах конкурсов на сайте.
Авторов лучших работ ждут подарки и сувениры, а также возможность экспонироваться на выставках фестиваля на различных площадках Москвы и Подмосковья.
🧡 Давайте дарить друг другу радость и тепло в эти зимние дни и делиться своими положительными эмоциями и светлыми чувствами!
С нетерпением ждем ваши работы!🤗
#фестфото#фотографиякакобразмира#festfoto#festfotoXVI#festfoto16#ДОНМ#центртворчествагермес#центргермес#гермессао#ДопОбразование#ДОНМ
Любите ли вы гулять по ночному городу? 🌃
🌖✨ Ночь и сотни мерцающих, притягивающих внимание огней делают город волшебным, загадочным и праздничным, совсем не таким как днем. 🌇Можно любоваться им вечно и никуда не торопиться. А еще лучше запечатлеть эту красоту на фото!📸
🔸Как качественно снять ночной городской пейзаж?
🔸Какое оборудование необходимо для эффектных снимков?
🔸Как правильно выставить настройки камеры?
🔸Какие есть особенности съемки и компоновки кадра?
Ответы на эти вопросы вы можете найти в новом мастер-классе от профессионального фотографа Алексея Михайлова. Он поделился с нами секретами съемки впечатляющих ночных пейзажей.
🤗 Присоединяйтесь к просмотру!
https://vk.com/video-39756387_456239080
Больше видео – в мастерской фестиваля: https://festfoto.ru/workshop/
Специальный раздел доступен только зарегистрированным пользователям.
Регистрируйтесь, смотрите, экспериментируйте и ваши снимки станут ещё профессиональнее. Уже скоро вас ждут новые мастер-классы!
👉Напоминаем, что прием работ в конкурсы 16-го фестиваля «Фотография как образ мира» продолжается.
📌Регистрация участников и загрузка конкурсных работ открыта до 31 марта 2024 года. Успейте принять участие!
📷Фотоконкурс – https://festfoto.ru/nominations/
🎥Видеоконкурс – https://festfoto.ru/videos/
#мастеркласс#фестфото#фотографиякакобразмира#festfoto#festfotoXVI#festfoto16#ДОНМ#центртворчествагермес#центргермес#гермессао#ДопОбразование#ДОНМ
Время летит незаметно, считанные дни остаются до наступления Нового года и Рождества! 🎄Мы все с нетерпением ждем этих замечательных праздников – это пора чудес, сказочной атмосферы и исполнения заветных желаний.
✨Но иногда нам нужно немного волшебства и вдохновения, чтобы создать ту самую атмосферу праздника.
🎉Именно поэтому мы приглашаем вас принять участие в рождественских конкурсах нашего фестиваля! Мы верим, что вместе мы сможем создать праздничное настроение и поделиться им друг с другом.
☃️Вы готовы отправиться в «Путешествие в Рождество» и на «Рождественскую фотоохоту»? 👉🏻 Это можно сделать уже сейчас – на сайте festfoto.ru открыт прием работ:
КОНКУРС «ПУТЕШЕСТВИЕ В РОЖДЕСТВО»
📸ФОТО
📹ВИДЕО
📎Правила конкурса
КОНКУРС «РОЖДЕСТВЕНСКАЯ ФОТООХОТА»
🐿Номинация «Зверушка на кормушке»
❄️Номинация «Снег идет…»
📎Правила конкурса
💥 Авторов лучших работ ждут подарки и сувениры, а также возможность экспонироваться на выставках фестиваля на различных площадках Москвы и Подмосковья.
Давайте дарить друг другу тепло и радость в эти особенные дни и делиться своими эмоциями и светлыми ощущениями наступающего 2024 года.
😉С нетерпением ждем ваши работы!
#центртворчествагермес#центргермес#гермессао#ДопОбразование#ДОНМ#фотографиякакобразмира#фестфото#фотоконкурс#новыйгод2024#путешествиеврождество2024#newyear2024#photofestival#festfoto#festfotoXVI#festfoto16