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 слични објави

Пребарај: #digitalecosystem

当前筛选 #digitalecosystem清除筛选
IT Ladies Uzbekistan

@itladiesuzbekistan · Post #202 · 11.09.2025 г., 06:05

Meet Meta VP AI Research at ICT Week Uzbekistan! This is one more reason why you should visit Uzbekistan on September 23-26 for ICT Week Uzbekistan and register at www.ictweek.uz The role of our compatriots in creating a strong IT ecosystem is truly invaluable. Many of them inspire the next generation by leading through example and proving that global success is possible. Uzbekistan was historically in the center of the Great Silk Road, where different nationalities and religions coexisted in harmony, so that it created a breeding ground for many creative talents. Today, talented professionals from Uzbekistan are contributing to some of the world’s leading companies. Among them is Ruslan Salakhutdinov, Vice President of AI Research at Meta, and Professor at Carnegie Mellon University. For the first time, during ICT Week, he will share his journey and experiences - inspiring others to actively shape the future of digital innovation. We believe that more of our compatriots will step forward to build a thriving IT ecosystem together. That’s why we highly recommend attending his session at ICT Week to listen to this truly inspiring case. #ICTWeek#DigitalEcosystem#ArtificialIntelligence#Uzbekistan

VEON AdTech

@veonadtech · Post #301 · 12.01.2026 г., 07:00

🆕Uklon стал частью экосистемы VEON Ads. Один из динамичных и технологичных сервисов по вызову авто в стране добавлен в платформу как новый мобильный сценарий взаимодействия с аудиторией. 🔗 Все детали об интеграции — по ссылке ниже: https://bit.ly/3N7GlQ7 VEONAdTech #VEONAds#Uklon#AdTech#MobileAdvertising#DigitalEcosystem 👋👋Всё о digital-рекламе в Узбекистане: аналитика, лайфхаки и готовые решения.

VEON AdTech

@veonadtech · Post #300 · 09.01.2026 г., 10:30

💼Новый год — это не только итоги и планы, но и первые рабочие решения Мы начинаем 2026 год с расширения экосистемы VEON Ads и выхода в ещё одну высокоинтенсивную цифровую среду. Там, где внимание сфокусировано, а контакт с пользователем происходит не один раз, а снова и снова. ❓Какой сервис стал частью VEON Ads и почему этот канал открывает для рынка новые возможности взаимодействия с аудиторией —читайте скоро. #VEONAds#AdTech#DigitalEcosystem#MarketingTrends#FutureOfAds 👋👋Всё о digital-рекламе в Узбекистане: аналитика, лайфхаки и готовые решения.