Регулярно приходится писать и ревьюить код, где используется PySide2-6.
Заметил, что в подавляющем большинстве случаев настройка создаваемых базовых виджетов происходит через методы. Думаю, всем знаком такой способ.
Простой пример с кнопкой:
button = QPushButton("Click Me")
button.setMinimumWidth(300)
button.setFlat(True)
button.setStyleSheet("font-size: 20pt")
button.setToolTip("Super Button")
button.clicked.connect(lambda: print("Button clicked"))
Но есть и альтернативный способ - настройка через свойства. Это просто ключевые аргументы конструктора класса. Хоть они и не указаны в документации как аргументы, но они есть)
Этот код делает тоже самое но с помощью Property
button = QPushButton(
"Click Me",
minimumWidth=300,
flat=True,
styleSheet="font-size: 20pt",
toolTip="Super Button",
clicked=lambda: print("Button clicked"),
)
Где это может быть полезно
▫️ Это выглядит более аккуратно и коротко, уже повод использовать
▫️ Может использоваться в заполнении лейаута, когда нам не нужно никакое другое взаимодействие с виджетом и поэтому сохранять его в переменную не требуется. Например, лейбл или кнопка.
widget = QWidget(minimumWidth=400)
layout = QHBoxLayout(widget)
layout.addWidget(QLabel("Button >", alignment=Qt.AlignRight))
layout.addWidget(QPushButton("Click Me", clicked=lambda: print("Button clicked")))
widget.show()
Либо так
widget = QWidget(minimumWidth=400)
layout = QHBoxLayout(widget)
for wd in (
QLabel("Button >", alignment=Qt.AlignRight),
QPushButton("Click Me", clicked=lambda: ...)
):
layout.addWidget(wd)
widget.show()
▫️ Можно хранить настройки в каком-то конфиге или генерировать на лету, после чего передавать как kwargs.
kwargs = {"text": "Hello " * 30, "wordWrap": True}
my_label = QLabel(**kwargs)
Как получить полный список доступных свойств?
Эта функция распечатает в терминал все свойства виджета и их текущие значения
def print_widget_properties(widget):
meta_object = widget.metaObject()
for i in range(meta_object.propertyCount()):
property_ = meta_object.property(i)
property_name = property_.name()
property_value = property_.read(widget)
print(f"{property_name}: {property_value}")
#tricks#qt
🎬📷 На съемочной площадке фильма «Специалист».
Этот боевик примечателен в том числе и чувственной сценой в душе между Сильвестром Сталлоне и Шэрон Стоун. Актриса наотрез отказывалась в ней сниматься — после ролей в «Основном инстинкте» и «Щепке» ей больше не хотелось раздеваться в кадре. Однако Слаю удалось её уговорить, и вот как это было по его словам:
«Я не хотел заниматься этой сценой, потому что Шэрон не сотрудничала. Мы пришли на съемочную площадку, и тут она отказалась снимать с себя халат. Режиссёр попросил остаться только несколько человек из группы, и она все равно не снимает его. Я уже обещал ей, что не позволю себе никаких вольностей, так в чем проблема? Она сказала: «Меня просто тошнит от обнаженки». Я спросил ее, не могло бы ее тошнить от этого на фильме у кого-нибудь другого. У нее ничего не было, поэтому я сходил в свой трейлер и принес бутылку водки «Черная смерть», которую дал мне Майкл Дуглас, и после полудюжины шотов мы были мокрыми и дикими».
#ВИДЕОТЕКА
#SylvesterStallone
#SharonStone
«Треплешься много, стреляешь хреново. Ненавижу людей, которые хреново стреляют. Если ты что-нибудь им сделаешь, то тебя ничто уже не спасет. Мне придется убить тебя».
📼В этот день 39 лет назад на экраны вышел культовый боевик эпохи VHS «Кобра».
#ВИДЕОТЕКА
#Cobra
#SylvesterStallone
#ActionMovies
Множество постеров к легендарному боевику «Кобра» — от оригинального до альтернативных и экзотических.
#ВИДЕОТЕКА
#SylvesterStallone
#СильвестрСталлоне
#Cobra
#Кобра
⠀
Сильвестр Сталлоне, Орнелла Мути и Мариса Томей на съемках фильма «Оскар», 1991
⠀
💬 «Чтобы понять, что Сталлоне не просто груда мышц, а талантливый драматический актер, надо посмотреть этот фильм. Здесь он превзошел сам себя»
⠀
#СильвестрСталлоне#ОрнеллаМути#МарисаТомей#SylvesterStallone#OrnellaMuti#MarisaTomei
📷Жан-Клод Ван Дамм, Брюс Уиллис, Сильвестр Сталлоне и Джеки Чан в неожиданных кожаных штанах в одном из ресторанов сети «Планета Голливуд».
#ВИДЕОТЕКА
#JeanClaudeVanDamme
#ЖанКлодВанДамм
#BruceWillis
#БрюсУиллис
#SylvesterStallone
#СильвестрСталлоне
#JackieChan
#ДжекиЧан
Самое любимое камео Сильвестра Сталлоне.
— Скажите, а мы раньше не встречались?
— Нет-нет, я бы вас запомнил.
#ВИДЕОТЕКА
#Taxi3
#Такси3
#СильвестрСталлоне
#SylvesterStallone
#SamyNaceri
#СамиНасери
#АндрейГаврилов
«Если окинуть взглядом свою жизнь, готов спорить, о 80% своих поступков вы пожалеете. Но жизнь — это и есть ошибки».
Сегодня исполнилось 79 лет Сильвестру Сталлоне.
#ВИДЕОТЕКА
#SylvesterStallone
#Rocky
#FirstBlood
#Cobra
#TangoAndCash
#Cliffhanger
#DemolitionMan
#TheSpecialist
#Copland
#TheExpendables2
#TulsaKing
«Кто-то однажды сказал, что тебе нужно подождать 20 лет, прежде чем ты сможешь понять, хороший этот фильм или нет. Вероятно, это правда».
Сегодня исполнилось 84 года легендарному режиссёру, сценаристу и продюсеру Уолтеру Хиллу.
#ВИДЕОТЕКА
#WalterHill
#УолтерХилл
#BehindTheScenes
#StreetsOfFire
#УлицыВОгне
#Driver
#Водитель
#Warriors
#Воины
#SouthernComfort
#48Hrs
#48Часов
#RedHeat
#КраснаяЖара
#LastManStanding
#BulletToTheHead
#EddieMurphy
#NickNolte
#BruceWillis
#ArnoldSchwarzenegger
#SylvesterStallone