Регулярно приходится писать и ревьюить код, где используется 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
🎓 Ещё один крючок для стены
Ещё одна полезная деталь интерьера — функциональный крючок, который поможет организовать пространство стильно и удобно!
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели | Мы в Max | Заказать печать
🛠️ Полка для хранения сверл Ø1-Ø13 мм
Простое и компактное решение для удобного хранения мелких свёрл от 1 до 13 мм диаметром. Легко собрать самостоятельно на 3D-принтере!
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели | Мы в Max | Заказать печать
🚗 Ключница Cool Garage Car Key Holder
Эта стильная ключница станет классным дополнением интерьера гаража! Изготовлена специально для автолюбителей — практичная и эстетичная деталь хранения ключей от авто.
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели | Мы в Max | Заказать печать
🔌 Катушка для проводов Power Cord Winder & Organiser
Простое решение для хранения кабелей и шнуров, удобное хранение и защита от спутывания.
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели | Мы в Max | Заказать печать
📌 Крепление аккумулятора Ryobi 18V для стены DDD Control
Это удобное крепление позволяет надежно зафиксировать аккумулятор Ryobi формата 18 вольт прямо на стене, обеспечивая быстрый доступ и удобную зарядку. Отличное решение для мастерской!
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели | Мы в Max | Заказать печать
📦 Открывалка коробок
Небольшое устройство упрощающее распаковку картонных упаковок. Компактная конструкция помогает аккуратно вскрывать коробки и упаковку, экономит время и нервы!
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели | Мы в Max | Заказать печать
🔧 Инструмент для снятия предохранителей автомобиля
Избавьтесь от неудобства! Удобный инструмент позволяет быстро и аккуратно извлекать автомобильные предохранители. Незаменим для автовладельцев!
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели для печати | 3D Маркетплейс | Max
📦 Складис — органайзер для инструментов и мелочей
Универсальное решение для хранения мелких предметов и инструмента. Компактный дизайн позволяет удобно разместить любые мелочи прямо рядом с рабочим местом. Сделан для организации пространства мастерской или гаража.
🔗Скачать:Printables
#️⃣Категория:#Garage@anzar3d
🖨3D модели для печати | 3D Маркетплейс | Max
Teenage Death Star — The Early Year's 88-91 Backyard Tapes (La Munai Records, 2020)
#garage#indie#psychedelic#post_punk#indorock#Indonesia
Сборник песен индонезийской инди-группы Teenage Death Star, который они выпустили в этом году как свой второй альбом. Домашний продакшен эпохи восьмидесятых и песни на инденезийском языке с названиями в духе «Не стригись и, пожалуйста, брось работу», «Неврологические расстройства научной фантастики», «Квантовая динамическая черная магия».
Bandcamp
SELECTAH BASS PARTY [THIS FRIDAY]
Плотные вибрации басов возвращаются в наш славный город, которые уже так полюбились многим бэйсерам! В этот вечер все серьезно - 4 килловата глубокого звука, селекторы старой и новой школы и исключительное разнообразие фирменного басистого звучания! 😎
Всё в один вечер, на первом этаже бара Сфера.
Приглашаются все неравнодушные почитатели английского и международного бэйса, чтобы встретиться и вместе качнуть в такт мощного саунда 🔊
Будут такие диджи как:
44G
CREEP N00M
NAJI
KNOWKHAN
UNOFFICIAL JAH
Конкретика по стилям:
#BASS#JUNGLE#DNB#GARAGE#DUBSTEP#DUB
ИТАК:
🔻26 Сентября, Пятница, 22:00
🔻Сфера Бар, Шакирова 31
🔻+21
🔻300 KGS с репостом в инст
*500 KGS если без
_
#dj#тусовка
@BishDvizh