TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #381 · 23 окт.

Установить свойства виджета в PySide можно не только через соответствующие методы и конструктор класса. Можно их изменять с помощью метода setProperty по имени. btn = QPushButton("Click Me") btn.setProperty("flat", True) Это аналогично вызову btn.setFlat(True) Если указать несуществующее свойство, то оно просто создается btn.setProperty("btnType", "super") Получить его значение можно методом .property(name) btn_type = btn.property("btnType") Когда это может быть полезно? ▫️Можно просто хранить какие то данные в виджете и потом их доставать обратно widget = QWidget() widget.setProperty('my_data', 123) print(widget.property('my_data')) ▫️ Назначая эти свойства разным виджетам можно потом отличить виджеты во время итераци по ним. Например, найти все кнопки со свойством my_data="superbtn". Но ведь вместо кастомного свойства можно использовать objectName, будет тот же результат. Да, но y ObjectName есть ограничение - только строки. ▫️ Если нам потребуется не просто поиск а, например, сортировка по числу, то свойства позволяют нам это сделать. Поддерживается любой тип данных widget.setProperty('my_data', {'Key': 'value'}) widget.setProperty('order', 1) all_widgets.sort(key=w: w.property('order')) Но ведь Python позволяет всё вышеперечисленное сделать простым созданием атрибута у объекта widget.order = 1 widget.my_data = 123 Да, но я думаю что не надо объяснять почему не стоит так делать. К тому же, если у виджета нет свойства то метод .property(name) вернет None, а отсутствующий атрибут выбросит исключение. ▫️ Действительно полезное применение кастомным свойствам - контроль стилей. Здесь атрибутами не обойтись, нужны именно свойства. Дело в том, что в селекторах стилей можно указывать конкретные свойства виджетов на которые следует назначать стиль. Просто запустите этот код from PySide2.QtWidgets import * if __name__ == "__main__": app = QApplication([]) widget = QWidget(minimumWidth=300) layout = QVBoxLayout(widget) btn1 = QPushButton("Action 1") btn2 = QPushButton("Action 2") btn3 = QPushButton("Action 3", flat=True) layout.addWidget(btn1) layout.addWidget(btn2) layout.addWidget(btn3) # добавим кастомное свойство одной кнопке btn1.setProperty("btnType", "super") # добавляем стили widget.setStyleSheet( """ QPushButton[btnType="super"] { background-color: yellow; color: red; } QPushButton[flat="true"] { color: yellow; } """ ) widget.show() app.exec_() С помощью селектора мы избирательно назначили стили на конкретные кнопки. Как получить список всех кастомный свойств? Функция получения списка кастомных свойств отличается от получения дефолтных. def print_widget_dyn_properties(widget): for prop_name in widget.dynamicPropertyNames(): property_name = prop_name.data().decode() property_value = widget.property(property_name) print(f"{property_name}: {property_value}") #tricks#qt

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #lidya

当前筛选 #lidya清除筛选
Fintech & Banking EU

@bankandfintech · Post #237 · 25.03.2025 г., 06:59

✨Advanzia Bank✨ *️⃣@nebesniy Нашел и написал нам пост про Advanzia Bank. Я вообще не ожидал, что бывают такие лёгкие кредитки в ЕС. Далее текст автора: *️⃣Advanzia Bank выдаёт кредитные карты в пяти странах: Германии, Люксембурге, Австрии, Испании и Италии. В Германии и Люксембурге карта называется gebuhrenfrei.de, в Австрии – free.at, в Испании – tarjetayou.es, в Италии – cartayou.it *️⃣Главная фишка — бесплатное обслуживание. Лежит сколько угодно и кушать не просит, пока вам этого не потребуется 🔲Плюсы карты: ▫️Лёгкое одобрение даже для резидентов без гражданства. Главное, чтобы у вас уже была какая-то кредитная история в стране: например дебетовый счёт, контракт с оператором или аренда. Впрочем, можно попробовать получить карту и вообще без кредитной истории ▫️Грейс-период от 3 до 7 недель – если вовремя погасить долг, проценты не начисляются. Грейс начинается первого числа каждого месяца, заканчивается в последний день оплаты платежа — 20 числа следующего месяца ▫️Бесплатное снятие наличных в любом банкомате (но проценты начинают капать сразу, без грейс-периода). ▫️Конвертация валюты без дополнительных комиссий по курсу Mastercard. ▫️Можно вывести кредитные деньги на свой IBAN, с которого вы когда-либо пополняли кредитку (но опять же – без грейс-периода, и без SEPA Instant). ▫️Кредитный лимит растёт автоматически ▫️Бесплатная страховка путешествий, при оплате минимум 50% транспортных расходов с помощью кредитки (но лучше прочитайте или прогоните через ChatGPT/Perplexity полные условия — есть нюансы) ▫️Карта хороша, если вы хотите строить первую кредитную историю 🔲Минусы: ▫️Оплата задолженности вручную – никакого автоматического списания, нужно переводить деньги самому, то есть у вас уже должен быть банк с SEPA ▫️Платёж можно делать только с IBAN на своё имя – если переведёте с чужого, гарантированно попросят документы: фото ВНЖ (или ID/паспорта) на почту ▫️Нет Direct Debit, пользоваться можно только картой физически или с помощью реквизитов карты (Mastercard) ▫️Процентная ставка в среднем выше чем у других европейских банков. Для каждой страны ставка своя, её можно уточнить на сайтах. Но в целом этот минус бьётся другими фишками карты 🔲Личный опыт (актуально для gebuhrenfrei.de): 🔸Карта приходит по почте в течение недели без верификации (вероятно верифицируют запросом из SCHUFA). PIN-код – отдельно, ещё через неделю. BIN 540187 кредитный, MC Gold 🔸Лимит растёт сам по себе, у автора поста он начался с 400€, потом увеличился до 1600€, а через несколько месяцев стал 2400€. Из документов — немецкий ВНЖ 🔸Банку всё равно, откуда вы платите за кредитку в зоне SEPA (даже мальта — ок). Но если перевод не с вашего счёта – попросят фото ВНЖ *️⃣Пост очень интересный и огромное спасибо автору, что смог такое откопать, абсолютно не очевидно и не на поверхности. Если решили оформить кредитку и хотите поблагодарить автора поста – ловите рефку для Германии и Люксембурга #Bunq#Advanzia#Sumeria#Lidya Консультация | Вступить в чат | Наши посты | Все рефки