Регулярно приходится писать и ревьюить код, где используется 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
Вчера на мой пост в тг-канале "Активист Шувалов" дал ссылку агрегатор новостей #BRIEF. Как итог 1,9К просмотров и несколько десятков репостов.
В посте показано: не смотря на то, что юристы #КПРФ впряглись за Удальцова (за это можно быть только благодарными), подавляющее большинство ресурсов КПРФ:
- либо вообще ничего не написали о задержании Удальцова и доставлении его в Следственный комитет на допрос,
- либо предоставили сухую информацию без политической оценки.
Это было очень странно!
Вчера вечером и сегодня утром ситуация начала принципиально меняться: с жёстким видео в защиту Удальцова выступил Бондаренко, а также депутат ГосДумы Олег Михайлов. Также некоторые, кто обошёл тему молчанием, дали в своих соцсетях "сухую информацию".
Свободу Удальцову!
Смотрим Бондаренко.
https://t.me/nbondarenko_blog/2266
Лучший бриф от клиента по мнению Роба Кэмбэлла (главный по стратегии в агентстве BBDO Colenso)
Объединяя пост про правильную постановку задачи и пост про бренд Virgin, история про бриф от Ричарда Брэнсона.
Задачу на разработку лаундж зоны Virgin Atlantics в аэропорту Брэнсон поставит так: ‘Make people want to miss their plane’
(сделайте так, чтобы пассажиры захотели пропустить свой самолёт)
#brief#virgin
@planning_horizon
DEPO - #INFOGRAPHICS
Over-the-month brief overview on key depository indicators assembled by the Central Securities Depository, as well as on stock exchange and OTC trading results.
#brief#depo#infographics#statistics#changes#stockexchange#trades
deponet.uz|Tg|Fb|Inst|Youtube
DEPO - #INFOGRAPHICS
Over-the-month brief overview on key depository indicators assembled by the Central Securities Depository, as well as on stock exchange and OTC trading results.
#brief#depo#infographics#statistics#changes#stockexchange#trades
deponet.uz|Tg|Fb|Inst|Youtube
DEPO - #INFOGRAPHICS
Over-the-month brief overview on key depository indicators assembled by the Central Securities Depository, as well as on stock exchange and OTC trading results.
#brief#depo#infographics#statistics#changes#stockexchange#trades
deponet.uz|Tg|Fb|Inst|Youtube
☄️Телеграмм. Франция. Дуров
WTF?!?
Ну что тут сказать?!
🗣Мы говорим, что в нашей стране много чего нельзя, долго обсуждаем признание BRIEF иноагентом, различные центры признаются экстримистскими, но...
⚖️...в России, после введения закона об иноагентах, ими признаны 569 организаций или физических лиц. В Великобритании только в 2024 году — 440!
Почувствуй разницу, что называется.
‼️Что же касается ареста Павла Дурова, как гражданина России и гражданина мира — то это беззаконие с моральной точки зрения, но вполне укладывается в правовую систему любого государства. Такое же, как и с Джулианом Ассанжем! Вопрос только как себя государство — поборник справедливости, демократии и свободы слова позиционирует.
Пятая Республика 🇫🇷 не перестает удивлять!
🚫Свобода слова в мире, как и само понятие демократия давно уже перестали соответствовать своим значениям!
...Я чувствую: не принимает тебя чужая земля
— В.В. Жириновский
#лдпр
#FreeDurov
#FREEPAPA
#жириновский
#ввж
#телеграм
#telegram
#BRIEF
#WikiLeaks
Александр Фомин – подписаться