Установить свойства виджета в 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
SMath Studio 1.0.8348 (x64/x86)
#dastur / #matematika
ℹ️ SMath Studio - bu matematik ifodalarni hisoblash va murakkab 2D va 3D grafiklarni yaratish uchun bepul dastur. Matritsalar, vektorlar, kompleks sonlar, kasrlar va katta sonlar bilan ishlashni qo'llab-quvvatlaydi. Qulay, grafik (qog'ozda bo'lgani kabi) interfeysi va dasturning boy xususiyatlari munosib miqdordagi sozlamalar va avtomatik rejimlar bilan yaxshi birlashtirilgan.
🌐Rasmiy saytiIOnlayn ishlatish
💾: 3.1 MB (.msi)
💻 Kompyuterni birga o'rganamiz ⤵️
TelegramIYouTubeIXarita
SMath Studio 1.0.8348 (x64/x86)
#dastur / #matematika
ℹ️ SMath Studio - bu matematik ifodalarni hisoblash va murakkab 2D va 3D grafiklarni yaratish uchun bepul dastur. Matritsalar, vektorlar, kompleks sonlar, kasrlar va katta sonlar bilan ishlashni qo'llab-quvvatlaydi. Qulay, grafik (qog'ozda bo'lgani kabi) interfeysi va dasturning boy xususiyatlari munosib miqdordagi sozlamalar va avtomatik rejimlar bilan yaxshi birlashtirilgan.
🌐Rasmiy saytiIOnlayn ishlatish
🔽Yuklash
V.M.: Word dasturidan farqli o'laroq grafikalar bilan birgalikda hisob kitoblarni kiritish + hisoblab borish ishimizni ancha yengillashtiradi. Dastur bepul bo'lgani uchun hech qanday faollashtirish talab etilmaydi.
💻 Kompyuterni birga o'rganamiz ⤵️
TelegramIYouTubeIXarita
“Yangi O‘zbekiston” universiteti tomonidan birinchi xalqaro konferensiya o‘tkazildi!
✅ “Yangi O‘zbekiston” universitetida V. I. Romanovskiy nomidagi Matematika instituti bilan hamkorlikda “International Conference on Operator Algebras, Varieties of Algebras and Related Topics” xalqaro ilmiy matematika konferensiyasi o‘tkazildi.
☑️ Konferensiyaga:
🇺🇿 yurtimizdan matematik olim Sh. Ayupov;
🇫🇷Fransiyaning Strasburg universiteti professori V. Dotsenko;
🇪🇸 Ispaniyaning De Vigo universitetidan X. Garsiya-Martinez;
🇷🇺Rossiyaning Moskva davlat universitetidan G. Makeev
hamda 50 ga yaqin professor-o‘qituvchi va tadqiqotchilar tashrif buyurdi.
#xalqaro_konferensiya#matematika
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
“Yangi O‘zbekiston” universiteti talabasi Abrorbek Butaev “Qarshi olimpiadasi” tashkilotchilaridan
✅Abrorbek hali yash bo‘lishiga qaramasdan, o‘z bilimini yoshlar bilan bo‘lishish maqsadida 3-4-sinf o‘quvchilari uchun matematika fanidan olimpiada tashkillashtirilishida ishtirok etdi.
☑️Olimpiada “Yangi O‘zbekiston” Universiteti qashqadaryolik tashabbuskor o'quv markazlar, KHISO o‘quv markazi , Qarshi Xalqaro Innovatsion Universiteti, Yoshlar ishlari agentligi Qarshi bo‘limi va @piimaolympiad_edu kanali jamoasi hamkorligida tashkil etildi.
🎗Olimpiada g‘oliblari pul mukofotlari, kitoblar,medallar va “Yangi O‘zbekiston” universiteti tomonidan taqdim etilgan esdalik sovg‘alar bilan taqdirlanadi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
#Qarshi_olimpiadasi#matematika
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
“Yangi O‘zbekiston” universitetida Iqtisodiyot va Matematika yozgi ilmiy maktablarining yopilish hamda taqdirlash marosimidan videolavha
➖➖➖➖➖➖➖➖
The video from the closing and awards ceremony of the Economics and Mathematics summer scientific schools at New Uzbekistan University
#SummerSchool#iqtisod#matematika#ochilish
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
“Yangi O‘zbekiston” universitetida Iqtisodiyot va Matematika yozgi ilmiy maktablarining yopilish marosimi o'tkazildi
💥 Ilmiy maktablarning maqsadi — iqtisod va matematika yo‘nalishlarida iste’dodli yoshlarni aniqlash va ularni dunyo tan olgan olimlarning ilmiy-tadqiqot ishlariga jalb etish orqali mamlakatimizda iqtisodiy islohotlar samaradorligini yanada oshirishdan iborat.
🌐 Loyihada o‘zbekistonlik yoshlar qatorida Xitoyning turli oliygohlarida tahsil oluvchi 35 nafar talaba ishtirok etdi.
⚡️ Loyiha natijasida kelajakda matematika va iqtisodiyot sohalari rivojiga o’z hissasini qo’shuvchi yosh olimlar hamjamiyati tuziladi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖
#SummerSchool#iqtisod#matematika#ochilish
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
Iqtisodiyot va matematika yozgi maktablari davom etmoqda
✅ Iqtisodiyot yozgi maktabining bugungi spikeri Iqtisodiy tadqiqotlar va islohotlar markazi direktori Obid Hakimov O'zbekistonda olib borilayotgan iqtisodiy tadqiqotlar, islohotlar va kelajakdagi istiqbolli rejalar bo'yicha ma'ruza qildi.
📈 Ma'ruzachi o'z nutqida O'zbekistonda iqtisodiy jihatdan rivojlanish uchun ishsizlikka qarshi kurashish bilan bir qatorda, ta'lim, sog'liqni saqlash va urbanizatsiya bilan bog'liq holatlarni ham inobatga olish zarurligini aytib o'tdi.
📌 Eslatib o'tamiz, yozgi maktab 12-iyulga qadar davom etadi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
#SummerSchool#iqtisod#matematika#ochilish
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
“Yangi O‘zbekiston” universiteti tominidan tashkil etilgan Iqtisodiyot va Matematika yozgi ilmiy maktablaridan videolavha.
➖➖➖➖
A video from the Summer Schools of Economics and Mathematics organized by the New Uzbekistan University.
#SummerSchool#iqtisod#matematika#ochilish
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
Iqtisodiyot va Matematika yozgi ilmiy maktablari o‘z faoliyatini boshladi
✅ Ilmiy maktablarning maqsadi — iqtisod va matematika yo‘nalishlarida iste’dodli yoshlarni aniqlash, ularni dunyo tan olgan olimlarning ilmiy-tadqiqot ishlariga jalb etish orqali mamlakatimizda iqtisodiy islohotlar samaradorligini yanada oshirishdan iborat.
🌐 Loyihada o'zbekistonlik yoshlar qatorida 35 nafar xorijlik talabalar ham ishtirok etishmoqda.
🗓 Ilmiy-maktablar 14-iyul kuniga qadar o‘tkaziladi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖
#SummerSchool#iqtisod#matematika#ochilish
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
🎯“Kim chaqqon?” – matematika darsida raqobat va rivojlanish!
Matematika fani oʻqituvchisi, Hakimjon ustoz o‘quvchilarini qiziqarli oʻyin orqali o‘ylashga, tezkorlikka va e’tiborga o‘rgatmoqda.
🧮 O‘yin davomida kim misol javobini birinchi topib, do‘skadagi sonni ko‘rsatsa – ball oladi! ✋
Bu usul bolalarning aqliy faolligini, raqobat ruhini va hisoblash malakasini oshiradi. 📈
📹 Qashqadaryodagi darsdan jonli lavha!
#maktab#ustoz#TeachforUzbekistan#matematika#interaktivdars
🎉 Праздник математики и вдохновения!
📍 На торжественной церемонии награждения победителей Открытой математической олимпиады Mezon Inspiring School —
✨ специальный гость: легендарный российский математик, профессор МФТИ и популяризатор науки — Алексей Савватеев!
📚 Победителям вручены дипломы и ценные призы:
🎁 Наборы для исследований "Znatok"
🗣 Умные колонки — для умных детей
💻 А Гран-при получил... ноутбук ASUS — отличный старт для будущих IT-звёзд!
👏 Это был не просто финал олимпиады — это было вдохновение, признание и шаг вперёд!
Мы гордимся каждым участником — вы не просто решаете задачи, вы меняете представление о возможностях школьников!
🚀 Пусть эта олимпиада станет для кого-то первым шагом к большому научному пути.
А впереди — ещё больше открытий, идей и достижений!
#mezonolympiad2025#savvateev#mezoninspiringschool#ilm#matematika#olimpiada#bolalaruchunilm