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

Резултати

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

Пребарај: #astrofizika

当前筛选 #astrofizika清除筛选

Neytrino sirlari va atom yadrolari bo'yicha ma'ruzagataklif qilamiz ✅ “Yangi O‘zbekiston” universitetida 26-mart kuni soat 13:00 da astrofizik olim, professor Toshitaka Kajino tomonidan ma'ruza tashkil etiladi. ✨ Professor Toshitaka Kajino – taniqli kosmolog va yadro astrofizigi. U neytrinolar, katta portlash (Big Bang) va atom yadrolarining paydo bo‘lishini tadqiq qilgan. So‘nggi tadqiqotlarida u og‘ir atom yadrolari asosan supernovalar va kollapsarlar natijasida hosil bo‘lishini aniqlagan. 👉 Ro'yxatdan o'tish: https://forms.gle/kna4PYD9fk35wPeT7 📍 Manzil: “Yangi O‘zbekiston” universiteti, U.C.A bino 2-qavati) 🎗 Barcha qiziquvchilarni ma'ruzada kutib qolamiz! 🔁English ➖➖➖➖➖➖➖➖➖➖➖➖➖ #astrofizika#lecture ⬇️ Biz ijtimoiy tarmoqlarda: Veb-sayt | Telegram | Instagram | Facebook

💥 Samarqand shahrida mashhur astrofizik olim Luciano Rezzolla tomonidan o'tkazilgan ochiq ma'ruzadan videolavha ➖➖➖ The video from a public lecture by renowned astrophysicist Luciano Rezzolla held in Samarkand #ochiqmaruza#LucianoRezzolla#astrofizika ⬇️Biz ijtimoiy tarmoqlarda: Veb-sayt | Telegram | Instagram | Facebook

Luciano Rezzolla tomonidan ochiq ma’ruza oʻtkazildi 🌐 Markaziy Osiyo universitetlar forumi doirasida mashhur ilm-fan vakillari tomonidan ma’ruzalar boshlandi. ✅ Bugun “Yangi Oʻzbekiston” universiteti tomonidan mashhur olim Luciana Rezzolla bilan Samarqand davlat universiteti hamkorligida ochiq ma’ruza tashkil etildi. 🌌 Ma’ruza yoshlar uchun eng qiziq mavzulardan hisoblangan Qora tuynuklar haqida oʻtkazildi. Unda olim “Interstaller” filmida ilgari surilgan ilmiy faraz, ya’ni qora tuynuklarda oʻtgan 1,5 sekund yerdagi bir kunga teng ekanligining haqiqatga yaqinligini tushuntirib berdi. 📚 Tadbir akademik Bobomurot Ahmedov tomonidan ochib berilib, unda yoshlar oʻzlarini qiziqtirgan savollarga javob olishdi. 🔁English ➖➖➖➖➖➖➖➖➖➖ #ochiqmaruza#LucianoRezzolla#astrofizika ⬇️Biz ijtimoiy tarmoqlarda: Veb-sayt | Telegram | Instagram | Facebook

Zamonamizning eng nufuzli astrofiziklaridan biri Luciano Rezzolla Oʻzbekistonga kelmoqda ⚡️“Yangi Oʻzbekiston” universiteti Samarqand davlat universiteti bilan hamkorlikda italiyalik olim, hisoblash fizikasining dunyoga mashhur arbobi va qora tuynuklarning birinchi tasvirlarini yaratuvchilaridan biri bo'lgan Luciano Rezzollaning ochiq ma’ruzasini tashkil etadi. 💥 Ochiq ma’ruzada Luciano Rezzolla koinotning sirli oynasi - qora tuynukning birinchi surati boʻyicha oʻz izlanishlari haqida ma’lumot beradi. 🎗Professor Luciano Rezzolla dunyo reytingida eng yuqori 200 ta oliygohlarda biri bo'lgan Frankfurtdagi Gyote universitetida Nazariy fizika kafedrasi mudiri hisoblanadi hamda eng kuchli professorlardan biri boʻlib, uning “Hirsh indeksi” 104 ga teng. ✅ Mazkur tarixiy uchrashuvda qatnashish uchun oʻz joyingizni band qiling: http://ca-eduforum.uz/luciano-rezzolla ⏰Vaqti: 12-oktabr, 15:00 📍Manzil: Samarqand davlat universiteti 🔹 Uchrashuvda fizika sohasida ishlovchilar, talaba-yoshlar va barcha qiziquvchilar ishtirok etishi mumkin. 🔁English ➖➖➖➖➖➖➖➖➖➖ #ochiqmaruza#LucianoRezzolla#astrofizika ⬇️Biz ijtimoiy tarmoqlarda: Veb-sayt | Telegram | Instagram | Facebook

Italiyalik mashhur olim Luciano Rezzollaga faxriy professor unvoni berildi 💫 “Yangi O‘zbekiston” universitetining ilmiy hamjamiyati bilan yaqin hamkorlikda ishlab kelayotganligi va global miqyosda fizika hamda astrofizika sohalari rivojiga qo‘shgan ulkan hissasi uchun professor Luciano Rezzolla faxriy professor unvoni bilan taqdirlandi. ✅ Shuningdek, professor tomonidan fizika va astrofizika sohalariga qiziquvchilar uchun qora tuynuklar bo‘yicha mahorat darsi tashkil etildi. ❤️ Mahorat darslarining davomi sifatida panel muhokamasi tashkil etilib, unda akademik Bobomurot Ahmedov, akademik Qodir G‘ulomov, akademik Shuhrat Egamberdiev va professor Rainer Spurzemlar ishtirok etishdi va so‘nggi yillarda fizika sohasida erishilayotgan yutuqlar tahlil qilindi. 🎗 Bugungi tadbir yig'ilganlar uchun o‘z bilim va salohiyatlarini yanada oshirish bo‘yicha ajoyib imkoniyat sifatida baholandi. 🔁English ➖➖➖➖➖➖➖➖➖➖➖➖➖➖ #faxriy_professor#fizika#astrofizika ⬇️Biz ijtimoiy tarmoqlarda: Veb-sayt | Telegram | Instagram | Facebook