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

Пребарај: #readingculture

当前筛选 #readingculture清除筛选
Green University CA | Official

@centralasian_greenuniversity · Post #601 · 27.12.2025 г., 13:02

📚Book Fair at Green University 📖A book fair was held at the university, bringing together students, faculty, and book lovers in a lively academic atmosphere. The event offered a wide selection of literature, encouraged reading culture, and created a space for meaningful exchange of ideas. #BookFair#ReadingCulture#StudentLife#LoveForBooks ✉️[email protected] ☎️ +998 55 512 00 77 📍Location 🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube

Green University CA | Official

@centralasian_greenuniversity · Post #926 · 25.03.2026 г., 13:57

📚 “Book Brain” Weekly Activities at Green University Starting this week, weekly activities aimed at promoting reading culture are being launched under the “Book Brain” project. 📖Each week, 3 nominations will be announced: 🏆Best Book Presentation 🔥Most Active Student 📚Top Reader (Most Books Read) 🎁Winners will be selected based on an awarding system and receive special rewards. 🚀If you are passionate about reading and would like to showcase your knowledge, we encourage you to participate. #GreenUniversity#BookBrain#ReadingCulture#Students#Education __________________ 📚“Book Brain” haftalik tadbirlari Ushbu haftadan boshlab kitobxonlik madaniyatini rivojlantirishga qaratilgan “Book Brain” loyihasi doirasida haftalik tadbirlar yo‘lga qo‘yilmoqda. 📖Har hafta 3 ta yo‘nalish bo‘yicha g‘oliblar aniqlanadi: 🏆Eng yaxshi kitob taqdimoti 🔥Eng faol talaba 📚Eng ko‘p kitob o‘qigan talaba 🎁G‘oliblar maxsus baholash tizimi asosida saralanib, munosib rag‘batlantiriladi. 🚀Agar siz kitob mutolaasiga qiziqsangiz va o‘z bilimlaringizni namoyish etishni istasangiz, ushbu loyihada ishtirok etishga taklif etamiz. #GreenUniversity#BookBrain#Kitobxonlik#Talabalar#Ta’lim ✉️[email protected] ☎️ +998 55 512 00 77 📍Location 🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube

Green University CA | Official

@centralasian_greenuniversity · Post #960 · 03.04.2026 г., 05:04

📚An event was held as part of the Book Brain project at Green University! ⌛During the event, participants were given a detailed explanation of the project’s coin system, which is designed to evaluate engagement and encourage active participation. One of the most engaging parts of the event was the “favorite book” presentations. Participants shared insights about the books they love, along with their impressions and key takeaways. This created a space for meaningful discussions and inspired interest in new books. #BookBrain#ReadingCulture#Event#Students#Education#Motivation#Reading __________________________ 📚Book Brain loyihasi doirasida Green University'da tadbir bo‘lib o‘tdi! ⌛Tadbir davomida ishtirokchilarga loyiha mexanizmlaridan biri bo‘lgan coin tizimi batafsil tushuntirildi. Mazkur tizim qatnashchilarning faolligini baholash va ularni yanada faol ishtirok etishiga xizmat qiladi. Shuningdek, tadbirning eng qiziqarli qismi — “eng sevimli kitob” taqdimotlari bo‘ldi. Ishtirokchilar o‘zlari sevib o‘qigan asarlar haqida so‘zlab berib, kitobdan olgan taassurotlari va xulosalari bilan o‘rtoqlashdilar. Bu esa o‘zaro fikr almashish va yangi kitoblarga qiziqishni oshirishga xizmat qildi. #BookBrain#Kitobxonlik#Tadbir#Talabalar#Ilm#Motivatsiya#Reading#Education ✉️[email protected] ☎️ +998 55 512 00 77 📍Location 🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube