Регулярно приходится писать и ревьюить код, где используется 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
Huffington Post: 8 «микропривычек», которые помогут вам жить более счастливой и здоровой жизнью
Микропривычки — это небольшие, но регулярные действия, способные существенно улучшить качество жизни. Внедрение таких привычек не требует значительных усилий, но приносит ощутимые результаты. Среди них: утреннее растяжение для бодрости, ежедневное чтение хотя бы нескольких страниц для умственного развития, благодарность за маленькие радости, что повышает настроение, и планирование дня для повышения продуктивности. Эти простые действия помогают сформировать позитивные изменения без лишнего напряжения.
«Маленькие шаги ведут к большим переменам».
https://theidealist.ru/8microhabs/
#Huffpost#человек#здоровье#привычки
Huffpost: 21 простая задача по самоорганизации, которую профессионалы выполняют каждый день
Даже самый загруженный день можно сделать чуть более организованным — достаточно выделить несколько минут на простые, но регулярные действия. В материале собраны 21 привычка, которые профессиональные организаторы выполняют ежедневно: от заправки кровати до разбора почты, от наведения порядка в ванной до обновления списка продуктов. Эти мини-задачи не требуют много времени, но помогают держать пространство под контролем и создают ощущение спокойствия.
«Ощущение выполненного долга действительно приятно!»
https://theidealist.ru/21simple/
#Huffpost#человек#порядок#саморазвитие
Huffpost: что замечают дети из того, что не видят взрослые
Дети видят больше, чем нам кажется. Они замечают не только то, что мы говорим им напрямую, но и наш тон, мимику, поведение по отношению к партнёрам, к себе и к окружающим. Они чутко улавливают, как мы относимся к своему телу, какие ценности действительно исповедуем, и насколько мы строги к себе в моменты неудач. Эти наблюдения формируют у них отношение к миру, к себе и к людям.
«Ваши дети вырастут с чётким пониманием того, что на самом деле ценят их родители».
https://theidealist.ru/kidsseeit/
#Huffpost#общество#дети#воспитание
Huffington Post: 6 самых ярких пассивно-агрессивных фраз, которые вы наверняка используете (и зря)
Пассивно-агрессивное поведение – это скрытый способ выражения недовольства, который разрушает отношения и создаёт напряжённую атмосферу. Незаметные уколы, затягивание дел, сарказм – всё это признаки того, что человек избегает конфликта, но всё же стремится выразить свой гнев. Почему так происходит? Как вовремя распознать и нейтрализовать пассивную агрессию в общении?
«Хотя все мы время от времени проявляем пассивно-агрессивное поведение, этот тип общения, как правило, более привычен для людей, избегающих конфликтов, а также для тех, кто не имеет чувства собственного достоинства».
https://theidealist.ru/passiveagrr/
#HuffPost#человек#психология#общение#агрессия
Huffpost: в чем разница между джинсами за 50 и 500 долларов?
Джинсы стали не просто одеждой, а культурным символом, который сопровождает человечество уже почти два века. В статье рассказывается, как рабочая униформа американских шахтёров и фермеров превратилась в мировой модный тренд, а затем и в универсальную вещь, которую носят все — независимо от пола, возраста и социального статуса. За этим успехом стоит история практичности, инноваций (например, заклёпки и особая ткань деним) и умения подстраиваться под запросы каждой новой эпохи.
«Джинсы всегда были одеждой для настоящей жизни»
https://theidealist.ru/jeans/
#Huffpost#общество#одежда#мода#лайфхак
Huffington Post: 6 фраз, которые взрослые дети хотят услышать от своих родителей
Детство - одна из определяющих частей нашей жизни. Психологам хорошо известно, что многие наши психологические проблемы, в том числе в семейных отношениях, берут свое начало именно оттуда. А более важных людей в детстве чем родители для нас нет. И иногда они в желании защитить неосознанно наносят своему ребенку вред, с последствиями которого ему приходится бороться десятилетия спустя.
«Психотерапевт Недра Гловер Тавваб, автор книги «Установить границы, обрести мир», в начале этого года опубликовала в своем Instagram пост под названием «То, что взрослые дети хотят услышать» в котором перечислила несколько простых, но действенных фраз, которые родители могут сказать своим взрослым детям».
https://theidealist.ru/6phrases/
#HuffPost#человек#семья#родители#психология#детство