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

Резултати

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

Пребарај: #taf2023

当前筛选 #taf2023清除筛选
MAKON Marketing

@makonmarketing · Post #1078 · 29.09.2023 г., 07:59

Chevrolet brendi — beshinchi TAF!23 Toshkent reklama festivalining rasmiy "Auto partner" 🚗 Chevrolet — bu avtomobil sanoatidagi jahon yetakchisi bo‘lmish General Motors hamda UzAutoMotors ning muvaffaqiyatli hamkorlik natijasidir. 🗣: “Chevrolet GM oilasidagi eng mashhur brend ekanidan faxrlanamiz”. ⚡️ 2008-yilda General Motors bilan strategik kelishuv imzolangandan boshlab UzAuto Motors kompaniyasi foydalanishga qulay, hamyonbop va ishonchli avtomobillar ishlab chiqarishni tashkil etish ustida muntazam ish olib boradi. 2022-2023-yillarda kompaniya tomonidan GEM platformasida ishlab chiqarilgan, Asakadagi zavodda muvaffaqiyatli tayyorlanayotgan zamonaviy, yuksak texnologik va xavfsiz Chevrolet Tracker va Onix modellari taqdim etildi. Chevrolet, ekspertlar va iste'molchilardan qayta aloqaga ega bo‘lish, shuningdek rivojlanishda davom etish uchun, TAF2023 da faxr bilan qatnashadi. 👏 Festivalning barcha ishtirokchilariga ilhom va o‘z mijozlarining ehtiyojlarini muvaffaqiyatli qondirishlarini tilaymiz! #Chevrolet#TAF2023

VEON AdTech

@veonadtech · Post #34 · 07.10.2023 г., 14:15

VEON AdTech стал победителем TAF 2023 в номинации «Digital-инноватор Узбекистана 2023». Мы рады, что работа в развитии цифровой рекламы с использованием Big Data и Искусственного Интеллекта получает признание, ведь вместе мы строим мир без информационного шума! – – – VEON AdTech is a winner of TAF 2023 in the category “Digital Innovator 2023”. We are delighted that our work in precision marketing employing Big Data and Artificial Intelligence is gaining recognition, as together we are building the World without information pollution! #VeonAdTech#Teamwork#TAF2023#IT#команднаяработа

Bahodir_Schastlivchik

@bahodir_schastlivchik · Post #1401 · 21.08.2023 г., 17:47

#TAF2023#реклама#маркетинг#хакам#блогер#инфлюенсер Shahnoza Soatova фикр етакчилари фаолияти ҳақидаги мулоқотимиз давомида сунгги вақтларда бутун дунё ва албатта мамлакатимизда инфлюенсерлар маркетинг ва реклама соҳаларидаги роли ошиб бораётгани ўрин топди. Шуни таъкидлаш лозимки, Шахнозахон блогерлик фаолияти давомида тўплаган тажрибаси, креативлиги ҳамда ҳар қандай масалани бахолашда холислиги жамоатчилик томонидан муносиб эътирофга сазовор. Шу туфайли Шахноза Соатовани пойтаҳтимизда 7 октябрь куни бўлиб ўтадиган Тошкент Реклама фестивалига (TAF!-2023) Ўзбекистон маркетинг уюшмаси номидан жамоатчилик асосида эксперт-хакамлар кенгашига таклиф қилдик. TAF!-2023 Хакамлар кенгаши таркибида аёллар ҳам фаол қатнашганидан мамнунмиз. @bahodir_schastlivchik