Установить свойства виджета в 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
🛍️Wildberries Azur Air aviakompaniyasini sotib olmoqchi
🫐 Bitim deyarli yakuniy bosqichga yetgan, ammo summasi oshkor qilinmagan.
Tatyana Kimga tegishli bo‘lgan aktivlar ro‘yxatida allaqachon quyidagilar bor:
* Rive Gauche
* Magas aeroporti
* O‘zbekiston pochtasi
* Fun&Sun tur-operatori
* WB Taxi.
➡️#wildberries | Birinchi IT-Blog
🍇 Wildberries O‘zbekistonda taksi xizmatini yo‘lga qo‘ymoqda — WB Int Export mamlakatda WB Taxi servisini ro‘yxatdan o‘tkazdi.
🚕 Dastlabki bosqichda taksi faqat xodimlar va hamkorlar uchun ishlaydi, keyin esa hamma uchun ishga tushiriladi.
🎁 Maxsus imkoniyat: safar uchun 50% keshbek beriladi — bu to‘lov marketpleysning ichki valyutasi “arbuzlar” orqali qaytariladi.
😅 Savol: Rossiyada bu taksi xizmati qachon ishga tushadi ekan?
➡️#wildberries | Birinchi IT-Blog
✏️Tankie's R&R: Один человек убит, двое ранены в результате стрельбы у офиса Wildberries в Москве (ТАСС). РИА пишет, что около 10 ранены.
В Wildberries сообщили о попытке «незаконного проникновения» Владислава Бакальчука и его охраны в офис компании. Татьяна Бакальчук написала , что «группа людей под руководством Владислава Бакальчука, Сергея Ануфриева (сооснователь компании) и Владимира Бакина (бывший председатель совета директоров «Вайлбериз банка») попытались захватить офисы Wildberries в Москве». Она назвала это «неудачной попыткой рейдерского захвата».
Среди пострадавших оказались: Абубакар Местоев, Умар Чичаев и Рашид Кодзев. Местоев — мастер спорта России по панкратиону и всестилевому каратэ, а Кодзев — чемпион России и ВС РФ по боксу.
Чичаев из клуба «Ахмат» — чемпион Европы и мира по тхэквондо, мастер спорта по кикбоксингу. Он также служил в Росгвардии в Чечне и фотографировался вместе с Кадыровым.
В ходе инцидента были задержаны 10 человек. Владислав Бакальчук покинул офис в сопровождении охраны и адвоката.
#Wildberries
Ничего необычного. Просто видео с пункта досмотра на складе Wildberries в Подмосковье.
Подробнее о конторе — в видео товарища Ассы
Часть 1 и Часть 2
#Wildberries
Если для кого-то уроком 2024 года станет "Я не хочу", то в 2025 году это уже будет "Надо было "Черезнихочу".
Для меня всегда формулой успеха было делать то, что не хочется и идти туда, куда страшно. И это совпадало с внутренним неформальным девизом #Wildberries - так компания и добилась феноменальных успехов и стала лидером рынка.
Дорогие друзья, я желаю в наступающем году не бояться трудностей и идти вперед, не оглядываясь назад. Сложности - лишь у нас в голове. Все обязательно получится!
😳Wildberries будет выдавать заказы через газетные киоски
Доставка должна заработать в тестовом режиме в 26 точках в Москве, Санкт-Петербурге, Воронеже и Твери, пишет РБК.
Доставлять в киоски будут не все посылки. Размер не должен превышать 35×45×38 см, а цена — не более 10 000 рублей. Срок хранения в пункте выдачи — три дня максимум. Примерка будет недоступна.
Доставка в такие точки будет бесплатной. Выбрать нужный киоск получится в приложении или на сайте Wildberries во время оформления заказа.
#News#News#Wildberries
🇷🇺#VTBR#Wildberries
ВТБ и Wildberries обсуждают варианты альянсов — РБК
1) ВТБ может для привлечения средств пойти на новую рыночную допэмиссию акций, в результате которой доля государства в банке может снизиться с 74,45% вплоть до 50% плюс одна акция. При таком сценарии полученные деньги банк сможет напрямую направить на покупку доли в Wildberries, говорит источник РБК
2) ВТБ может оплатить долю в Wildberries своими акциями. В этом случае акционеры маркетплейса могут стать новыми миноритариями госбанка и иметь дополнительный дивидендный поток
mt в max
Этот мем с нами надолго, ибо :
🇷🇺#VTBR#Wildberries
ВТБ и Wildberries обсуждают варианты альянсов — РБК
ВТБ и Wildberries обсуждают возможное слияние
1) ВТБ может для привлечения средств пойти на новую рыночную допэмиссию акций, в результате которой доля государства в банке может снизиться с 74,45% вплоть до 50% плюс одна акция. При таком сценарии полученные деньги банк сможет напрямую направить на покупку доли в Wildberries, говорит источник РБК
2) ВТБ может оплатить долю в Wildberries своими акциями. В этом случае акционеры маркетплейса могут стать новыми миноритариями госбанка и иметь дополнительный дивидендный поток
mt в max
🛍Wildberries запустила сайт о персональных данных в Беларуси
🦇 Теперь у пользователей появился сайт privacy.wildberries.by, где в удобной форме собрана вся информация о том, как компания работает с персональными данными.
🔒 Что там есть:
– простые объяснения, зачем важно защищать личную информацию;
– инструменты для контроля своих данных;
– примеры, как Wildberries бережно обрабатывает данные в сервисах;
– возможность задать вопросы компании напрямую.
💬 «Одна из главных угроз — когда сами пользователи передают свои данные третьим лицам. Наш портал помогает формировать культуру кибербезопасности», — отметила Евгения Казачковская, начальник отдела внутреннего контроля Wildberries в Беларуси.
👉 Сайт учитывает требования белорусского законодательства и станет надежным помощником в онлайн-безопасности.
👮♀️Оставайтесь на связи, следите за обновлениями и делитесь важной информацией с друзьями — вместе мы сильнее!
#УПК_Брест
#Wildberries
Когда на кухне трудно поддерживать порядок, дело чаще всего в хранении. В этой подборке — находки с #wildberries, которые помогут разложить все по местам и сделать пространство удобным и аккуратным.
Топ-7 товаров для кухни:
◾️Банки для специй, чая и кофе — арт. 248912057
◾️Органайзер для столовых приборов — арт. 268487074
◾️Органайзер для чайных пакетиков — арт. 326887458
◾️Хлебница — арт. 204242526
◾️Банки для сыпучих продуктов — арт. 398129819
◾️Держатель для досок и тарелок — арт. 231747144
◾️Настольная полка — арт. 297471926
#находки#находки@tostr_ru
👍Tostr теперь в MAX
Время находок с маркетплейсов! На этот раз нашли на #wildberries посуду и детали для сервировки новогоднего стола.
Топ-7 товаров для сервировки:
◾️Дорожка — арт. 543950145
◾️Тарелки — арт. 528999005
◾️Блюдо — арт. 444469426
◾️Бокалы — арт. 293840037
◾️Набор столовых приборов — арт. 438626991
◾️Салфетки — арт. 528903625
◾️Кольца для салфеток — арт. 580391448
#находки#находки@tostr_ru
👍Tostr теперь в MAX
Время находок с маркетплейсов! На этот раз нашли на #wildberries товары для кухни, с которыми готовить будет проще и приятнее.
Топ-7 находок для кухни:
◾️Таймер — арт. 418583321
◾️Термометр — арт. 301437312
◾️Терка — арт. 387596079
◾️Мельница для специй — арт. 371287084
◾️Весы — арт. 376561874
◾️Ножеточка — арт. 418554001
◾️Вакууматор — арт. 91203945
#находки#находки@tostr_ru
💎Tostr | Подписаться