Регулярно приходится писать и ревьюить код, где используется 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
📊 Топ-7 разблокировок токенов на этой неделе
Мы часто видим такие данные, но не всегда понимаем, что с этим делать. Вот, что важно знать на практике.
Когда происходит разблокировка токенов, это означает, что определённая часть монет, которая была недоступна для торговли, поступает на рынок. Обычно эти токены удерживали ранние инвесторы или участники, которые получали их за определённые задания. Теперь, после разблокировки, они могут продать свои монеты.
⚠️ Как это влияет на цену? В большинстве случаев, появление большого количества новых токенов на рынке создаёт продавцов, что приводит к падению цены. Инвесторы, которые долго не могли монетизировать свои токены, начинают фиксировать прибыль, что оказывает давление на рынок. Этот процесс можно наблюдать по таким монетам, как ARB, VELO, APE, ID, и другим на графике.
💡 Мой опыт говорит, что в такие моменты можно ожидать существенное снижение цены токенов, и это важно учитывать в торговых решениях. Поэтому, если видите разблокировки, это сигнал — стоит быть осторожным и следить за движением рынка.
#VELO#APE#КриптоНовости
Coinbase Subpoenaed in Polymarket Inquiry
Coinbase confirms it has received a subpoena related to the CFTC's investigation into Polymarket. This development raises questions about regulatory scrutiny in the crypto space.
*Senator Cynthia Lummis is expected to head a new Senate committee focused on digital assets, which may influence future legislation.*
Read more: Velo News
#Coinbase#CFTC#Polymarket#Crypto#Senate#DigitalAssets#Regulation#Blockchain#USPolitics#Lummis#Finance#Investing#Market#Law#Technology#Innovation#Compliance#Research#Velo#News
Фильм о моей велопоездке из Казани в Мари- Луговая (дельта реки Илеть) 17 июня 2023г.
Видео на Дзене по ссылке:
https://dzen.ru/video/watch/64a1bb6b77a923534abb641d
Приглашаю подписаться на мой канал в Яндекс Дзен. В первую очередь большие видео буду выкладывать туда.
Видео в ВКhttps://vk.com/starovroman?z=video901178_456239275%2Fvideos901178%2Fpl_901178_-2
Общая длинна маршрута – 94,18 км
Время в пути 10:01:58
Уже второй год подряд я отправлюсь на свой день рождения в велопоходы. Меня ждал готовый лагерь с баней, шашлыками, сапбордом и лодкой, который обустроили мои любимые коллеги.
Это моя первая работа, полностью выполненная в Sony Vegas 13, цветокоррекция выполнена в Addobe Premier.
В фильме использована музыка моих друзей, казанских музыкантов, которые, на мой взгляд делают музыку мирового уровня. Планирую во всех видео, помимо рассказов о путешевствиях знакомить вас с интересными артистами.
Проект Булата Абдуллина – AB
https://vk.com/audio_playlist7164003_1_4dd0be40b40d5f1fa0
https://youtube.com/@abchannel8719
https://m.soundcloud.com/ab-musician
Проект Cosmic Replicant
https://cosmicreplicant.bandcamp.com/album/soul-of-the-universe-24-bits
https://music.yandex.ru/artist/1129216
Мой канал в Telegram https://t.me/romanstarov_pub
#велотуризм#велосипед#велопоход#путешествие#bike#туризм#велопутешествие#biketrip#поход#велотур#velo#adventure#trip#велопрогулка#bikelife#велодень#покатушки#велосипеды#лес#палатка#summer