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

Резултати

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

Пребарај: #chevening

当前筛选 #chevening清除筛选
Hayotullo Ismailov | Golden Life

@hayotalks · Post #383 · 05.08.2025 г., 13:11

📣 The wait is finally over!🎆 Applications for the #Chevening Scholarship to study in the UK are now OPEN! 🇬🇧✨ 🎓Dreaming of earning your Master’s degree at a top UK university? 🌍 Ready to unlock a world of opportunities and become part of a global network of future leaders? 💻 Don’t miss your chance - apply now and take the first step toward a life-changing journey! 🗓Deadline: 7 October 👉 Apply here: https://www.chevening.org/scholarship/uzbekistan/ ------------ 📣 Nihoyat uzoq kutilgan kun keldi! 👌 #Chevening stipendiyasi uchun arizalar qabul qilinmoqda! 🇬🇧✨ 🎓Britaniyaning yetakchi universitetlaridan birida magistratura bosqichini tamomlashni orzu qilasizmi? 🌍 Yangi imkoniyatlar dunyosini ochishga va kelajak yetakchilarining global tarmog‘iga qo‘shilishga tayyormisiz? 🎓 💻 Bu imkoniyatni qo‘ldan boy bermang - hoziroq ariza topshiring va hayotingizni o‘zgartiradigan sayohatni boshlang! 🗓Ariza topshirish muddati: 7-oktabr 👉 Ariza topshirish: https://www.chevening.org/scholarship/uzbekistan/

Hashtags

Hayotullo Ismailov | Golden Life

@hayotalks · Post #558 · 30.10.2025 г., 02:35

🎓 Sizda shu 5 ta xato bormi? Demak, sizga konsultatsiya kerak. Ko‘pchilik xorijiy grantlarga topshiradi, lekin nega faqat ayrimlar g‘olib bo‘ladi? Sabab — ko‘p uchraydigan 5 ta xato: 1️⃣ CV chiroyli, lekin strategiyasiz. Grant komissiyasi siz haqingizda nimani o‘qishi kerakligini bilmaydi. 2️⃣ Motivatsion xat hissiz. “Men o‘qishni xohlayman” degan gaplar endi hech kimni hayratga solmaydi. 3️⃣ Ingliz tili yaxshi, lekin maqsad noaniq. IELTS 7.0 – bu yetarli emas, sizning yo‘nalishingizga mos asos bo‘lishi kerak. 4️⃣ Dasturlar aralash topshirilgan. Belgiyaga ham, Koreyaga ham, Germaniyaga ham bir xil xat yuborish – bu eng katta xato. 5️⃣ Portfolio bor, lekin natija yo‘q. Yutuqlar ko‘p, lekin ularning grant maqsadi bilan aloqasi yo‘q. Agar shu xatolardan kamida bittasi sizda bo‘lsa — bu signal 🚨 Demak, sizga shunchaki “ma’lumot” emas, yo‘naltiruvchi konsultatsiya kerak@hayotullo_admin bizda siz qidirgan narsa bor. 📍 Konsultatsiyada nimalarni olasiz: ✅Sizga mos grantlar ro‘yxati ✅ CV va motivatsion xat tahlili ✅ Strategik yo‘l xaritasi ✅ Ariza topshirish bo‘yicha bosqichma-bosqich ko‘rsatma Shoshiling, grantlar kutib turmaydi @hayotullo_admin murojaat qiling. 🌍 Grant olish — bu omad emas, tayyorlik natijasi. #grant#chetdavlat#konsultatsiya#motivationletter#cv#studyabroad#Erasmus#Chevening#DAAD#scholarship @hayotullo_adminbilim emas, tajriba muhim. 2in1 boʻlsa yanada ajoyib 😉 😎Instagram.😎Hayotalks 😎Telegram📱Khayotullo