Регулярно приходится писать и ревьюить код, где используется 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
Talent Skull запускает удалённую по Евросоюзу полугодичную стажировку! Знать что-то неплохо бы, например, Power BI, Tableau или Excel!
https://www.linkedin.com/jobs/view/4208924916
#foreign
#dashboard
#internship
Airbnb во францую ищут интернов на полгода или год, чтобы умел ваять дашборды в Tableau или Superset, а также шарили за графики в Excel 😎🤘
https://www.linkedin.com/jobs/view/4160591048
#foreign
#dashboard
#internship
Merkle Italia в Милан ищут интерна биайщика, знать что-то из большой тройки.
. https://www.linkedin.com/jobs/view/3904066198
#foreign
#dashboard
#internship
Siemens Energy ищет в Германию студентов податавизить 😁
Знать что-то из биай пакетов, говорить на всяких языках 🌝
https://www.linkedin.com/jobs/view/3840942900
#foreign
#dashboard
#internship
Оплачиваемая стажировка от ВТБ в сфере аналитики
На стажировке вас ждет:
— з/п до 65 000 уже на старте карьеры, ДМС со стоматологией и корпоративные скидки;
— возможность получить оффер по итогам программы;
— работа в гибридном формате или в деловом центре в «Москва-Сити»;
— поддержка ментора, карьерные консультации и доступ к закрытым образовательным программам;
— нетворкинг, онлайн-семинары от ВТБ, обратная связь от экспертов и другие активности в рамках программы.
Зарегистрироваться!
#russia
#internship
#internship#Poland
Yevropada uch oylik yozgi amaliyot
Dastur haqida: "Reuters" axborot agentligi jurnalistika yoki unga aloqador sohada so'nggi kursda o'qiyotgan talabalarni yoki yangi bitirganlarni yozda uch oy amaliyot o'tashga taklif etadi.
Qabul qilinganlar Polshada uch oy davomida yangilik yozish va tahrir qilish bo'yicha amaliyot o'taydi.
Grant miqdori: Yashash va safar xarajatlari to'liq qoplanadi, oylik maosh beriladi.
Talablar
- Jurnalistika yoki unga aloqador sohada so'nggi kurs talabasi bo'lish yoki yangi bitirgan bo'lish;
- Ingliz tilini va yana bir boshqa Yevropa tilini (masalan, rus tili) bilish;
- Jurnalistika sohasiga qiziqish;
- Tarjima va yaxshi kommunikatsiya malakasiga ega bo'lish.
Ariza topshirish tartibi:
- SHU YERDA ro'yxatdan o'tib, anketa to'ldirishingiz kerak;
- Anketada o'zingiz haqingizda ma'lumot va rezyumeni ilova qilishingiz kerak.
- Anketeda berilgan savollarga javob berishingiz kerak.
Hujjat topshirish muhlati: 2021-yil, 23-may
Batafsil ma'lumot:SHU YERDA
👉@siz_uchun_grantlar
Interactive Things в Цюрих ищут датавиз интерна, чтобы понимал сторителлинг, немного кодил в фронтенд и понимал в данные.
https://www.interactivethings.com/jobs/internship/
#foreign
#frontend
#internship
Прекрасная Valentino D'Efillippo ищет себе оплачиваемого стажёра на три месяца - ваять датавиз и красоту, ux, то сё) 😍
Писать на почту на картинке!
За наводку спасибо @nikitarokotyan🤗
#foreign
#storytelling
#internship
В Clover Health (на удаленку) требуется: Sales Operations Analyst.
Из инструментов: Tableau / Looker / Excel. Это стажировка.
https://remotefirstjobs.com/companies/clover-health/jobs/sales-operations-analyst-763945
#foreign
#dashboard
#remote
#internship