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

Резултати

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

Пребарај: #wanderlust

当前筛选 #wanderlust清除筛选
International Geographic

@internationalgeographic · Post #5600 · 14.04.2025 г., 03:56

📍 Nighttime in Singapore 🇸🇬 View of the Marina Bay Sands hotel 🌆 Singapore is an island nation in Southeast Asia. Founded as a British trading colony in 1819, after gaining independence it became one of the most prosperous countries, with the world's leading trading port. A fascinating fact: Singapore is the world's only island city-state! 🏙️🌴 #travel#wanderlust#cityscape

VEON AdTech

@veonadtech · Post #254 · 11.07.2025 г., 10:30

Ловим момент, когда мозг говорит: «Пора в отпуск!» Мечты рождаются между делом: 🫴 Оплатил связь → увидел билеты по цене кофе 👍 Оформил страховку → получил оффер на SPA-уикенд 🛫 Проверил баланс → открыл подборку тревел-хаков Почему это не реклама, а магия: ✨ Алгоритм ловит момент, когда мозг готов к побегу ✈️ Предложения встраиваются в рутину, как свои мысли 📈 Конверсия в 4 раза выше стандартных баннеров P.S. Это как если бы Booking.com читал мысли — только точнее и без cookie. 💻 Знаем, как продавать отдых до того, как его захотят — протестируем? #VEONAds#BehavioralTargeting#DigitalMarketing#Wanderlust#TravelTech#SmartAds 👋👋Всё о digital-рекламе в Узбекистане: аналитика, лайфхаки и готовые решения.

Amazing World and Travel

@amazingworldtravel · Post #677 · 10.04.2026 г., 03:58

🇲🇬Avenue of the Baobabs, Madagascar Ancient baobab trees, some over 800 years old and 30 meters tall, line this red-dirt road in western Madagascar like sentinels from a primordial world. These Grandidier's baobabs are among the most endangered trees on Earth — the last survivors of a once-dense tropical forest cleared over centuries, leaving these ancient giants standing alone in open farmland. At sunset, their massive silhouettes glow against a sky of liquid fire, bare branches reaching upward like roots — which is why Malagasy legend says the gods planted baobabs upside down. Ox-carts pass between trees that were already ancient when Genghis Khan rode across Asia, creating one of Africa's most hauntingly beautiful landscapes. Drop a 🔥 if this is on your list! #travel#wanderlust#explore#bucketlist#travelgram#adventure 📸@amazingworldtravel

Amazing World and Travel

@amazingworldtravel · Post #675 · 09.04.2026 г., 03:45

🇺🇸Antelope Canyon, United States Sculpted by flash floods over millions of years, this narrow slot canyon in Navajo Nation reveals flowing sandstone walls in waves of orange, red, purple, and gold. When midday sunlight beams pierce the narrow openings above, shafts of light illuminate the swirling rock in an ever-changing display that has made Antelope Canyon one of the most photographed wonders in the American Southwest. Upper Antelope Canyon — 'the place where water runs through rocks' in Navajo — is a smooth, undulating corridor at ground level, while Lower Antelope Canyon descends via narrow ladders into deeper chambers. Both were formed by monsoon floods that carry sand polishing the Navajo sandstone into these impossibly smooth, flowing forms. Drop a 🔥 if this is on your list! #travel#wanderlust#explore#bucketlist#travelgram#adventure 📸@amazingworldtravel

ПретходнаСтраница 1 од 3Следна