Установить свойства виджета в 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
Al-Xorazmiy universitetida tanishtiruv haftaligi!
🟢Universitetimiz talabalari uchun tanishtiruv haftaligi 22-sentabr soat 8:00 dan boshlanadi.
Haftalik davomida:
⏺universitet faoliyatiga oid taqdimotlar,
⏺turli intellektual o'yinlar,
⏺sport musobaqalari,
⏺va bayram tadbiri tashkil etiladi!
Bu haftalik sizga unutilmas onlarni taqdim etishi va talabalik davrini katta taassurotlar bilan boshlashingizga ishonamiz.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#tanishtiruv_haftaligi#alkhwarizmi
👇 Bizning ijtimoiy tarmoqlarimiz:
Veb-sayt | Telegram | Instagram | Facebook | Aloqa-bot
Tanishtiruv haftaligining birinchi kunidan videolavha
🔺Birinchi kun talabalar uchun qiziqarli uchrashuvlar, suhbatlar va tanishuvlar bilan boshlandi.
Talabalar guruhlarga bo‘lingan holda qiziqarli bellashuvlarga tayyorgarlikka kirishdilar.
✨ Bu yil birinchi kursga 150 nafarga yaqin talaba qabul qilindi va ularning barchasi tanishtiruv haftaligida faol ishtirok etmoqda.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#tanishtiruv_haftaligi#alkhwarizmi#OrientationWeek2025
👇 Bizning ijtimoiy tarmoqlarimiz:
Veb-sayt | Telegram | Instagram | Facebook | Aloqa-bot
Tanishtiruv haftaligiga start berildi
✨ Bugun Al-Xorazmiy universitetining ilk talabalari hayotida yangi sahifa ochildi.
💥 Qadrli talabalar, sizning orzu-intilishlaringiz va ilmga bo'lgan intilishingiz sizni ushbu universitet tomon yetakladi. Oldinda esa yangi maqsadlar, yangi imkoniyatlar va talabalikning oltin davri sizni kutmoqda.
🎉 Sizni universitetdagi ilk kuningiz bilan chin qalbimizdan tabriklaymiz.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#tanishtiruv_haftaligi#alkhwarizmi#OrientationWeek2025
👇 Bizning ijtimoiy tarmoqlarimiz:
Veb-sayt | Telegram | Instagram | Facebook | Aloqa-bot
Al-Xorazmiy universitetida tanishtiruv haftaligi!
Birinchi bosqichga qabul qilingan barcha talabalar uchun tanishtiruv haftaligi 22-sentabr sanasidan boshlanadi.
✅Mazkur haftalikda:
🔹universitet faoliyati bilan tanishuv;
🔹professor-o'qituvchilar tomonidan qiziqarli taqdimotlar;
🔹intellektual o'yinlar;
🔹sport musobaqalari;
🔹Al-Xorazmiy universitetining tantanali ochilish tadbiri bo'lib o'tadi.
👉 Tanishtiruv haftaligi dasturi bu yerda.
📍Universitet manzili: Urganch shahri, A. Bahodirxon ko'chasi 195-uy
💥Tanishtiruv haftaligi talabalar uchun esda qolarli va mazmunli tarzda o‘tishiga ishonamiz.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#tanishtiruv_haftaligi#alkhwarizmi#OrientationWeek2025
👇 Bizning ijtimoiy tarmoqlarimiz:
Veb-sayt | Telegram | Instagram | Facebook | Aloqa-bot
Professor-o‘qituvchilarimiz bilan tanishing
🎓Malika Xasanova — Al-Xorazmiy universitetida akademik yozuv va muloqot ko‘nikmalari fanidan ma'ruzachi-o‘qituvchi sifatida faoliyat yuritmoqda.
Malika Xasanova Toshkentdagi Webster universitetida "Ta’lim va innovatsiyalar" yo'nalishida magistrlik darajasini olgan.
📚 6 yildan ortiq tajribaga ega bo‘lgan malakali mutaxassis sifatida davlat maktablari va o‘quv markazlarida ingliz tili, CEFR hamda IELTS yo‘nalishida yuzlab o‘quvchilarni tayyorlagan.
⚡️Uning shogirdlari mahalliy va xalqaro imtihonlarda yuqori natijalarga erishgan.
💫 Malika Xasanova uchun o‘qituvchilik — bu shunchaki kasb emas. Bu — ijodkorlik, mehr va mas’uliyatdir.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#MeetOurProfessors#professor#alkhwarizmi
Bizning ijtimoiy tarmoqlarimiz:
Veb-sayt | Telegram | Instagram | Facebook | Aloqa-bot
Professor-o‘qituvchilarimiz bilan tanishing
⚡️Suxrob Yangibayev — endilikda Al-Xorazmiy universitetida Kompyuter dasturlash fanidan ma’ruzachi-o‘qituvchi sifatida faoliyat yuritmoqda.
🎓 Suxrob Yangibayev Sankt-Peterburg davlat elektrotexnika universitetida tahsil olgan.
Kasbiy faoliyati davomida bir qator tashkilotlarda muhandis sifatida faoliyat olib borgan hamda TATU Urganch filialida stajyor-o‘qituvchi sifatida dars bergan.
✔️ Suxrob Rustamovichning amaliy tajribasi va zamonaviy IT texnologiyalariga oid chuqur bilimlari talabalarga zamon talablariga mos, innovatsion ta’lim berishda muhim ahamiyat kasb etishiga ishonamiz.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#MeetOurProfessors#professor#alkhwarizmi
Bizning ijtimoiy tarmoqlarimiz:
Veb-sayt | Telegram | Instagram | Facebook | Aloqa-bot
Professor-o‘qituvchilarimiz bilan tanishing
⚡️ Dr. Cosimo Buffone — endilikda Al-Xorazmiy universiteti Dron texnologiyalari muhandisligi fakultetida fizika fanidan professor sifatida faoliyat yuritmoqda.
✅ Dr. Buffone Xitoydagi Tianjin Savdo universitetida dotsent bo‘lgan, shuningdek, Université libre de Bruxelles (Belgiya), Edinburg universiteti (Buyuk Britaniya) va Italiyadagi ta’lim muassasalarida ham dars bergan.
Ilmiy faoliyati:
⏺ Rimdagi “La Sapienza” universitetida Aerokosmik muhandislik yo‘nalishida tahsil olgan;
⏺ Buyuk Britaniyaning Edinburg universitetida “Mikrosistemalarda issiqlik va massa almashinuvi” mavzusida PhD dissertatsiyasini himoya qilgan;
⏺ 29 ta ilmiy maqola va 5 ta patent muallifi;
⏺ Scopus bazasida 770 dan ortiq iqtibosga ega.
Kasbiy faoliyati:
⏺ 20+ yil davomida Yevropa Kosmik Agentligi, Rolls-Royce, Airbus, Moog kabi nufuzli tashkilotlar bilan yirik ilmiy loyihalarda ishtirok etgan;
⏺ Faoliyat yuritgan tashkilotlariga 4,4 mln yevrodan ortiq ilmiy grant va loyihalar jalb qilgan;
⏺ Belgiyadan Xitoygacha 5 mamlakatda ilmiy izlanish va pedagogik faoliyat olib borgan.
🎗 Al-Xorazmiy universiteti jamoasi Dr. Cosimo Buffone’ning chuqur ilmiy bilimlari va boy tajribasi talabalarning kelajakdagi muvaffaqiyatlari uchun mustahkam poydevor bo‘lishiga ishonadi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#MeetOurProfessors#professor#alkhwarizmi
Bizning ijtimoiy tarmoqlarimiz:
Veb-sayt | Telegram | Instagram | Facebook | Aloqa-bot
#ochilishtadbiri
▶️ Al-Xorazmiy universitetining tantanali ochilish tadbiri hamda "Tanishtiruv haftaligi" taqdirlash marosimidan videolavha
➖➖➖➖➖➖➖➖➖
Video footage from the grand opening ceremony of Al-Khwarizmi University and the awarding ceremony of ‘Orientation Week’
#closingcaremony#alkhwarizmi
🔽Bizning ijtimoiy tarmoqlarimiz:
Veb-sayt | Telegram | Instagram | Facebook | Aloqa-bot
Al-Khwārizmī (c. 780–c. 850) was a Muslim mathematician and astronomer in Baghdad’s House of Wisdom. He introduced Hindu-Arabic numerals and algebra to Europe. His book on algebra gave rules for solving equations and calculating areas and volumes. Another work explained the number system now used worldwide. The word “algorithm” comes from the Latin form of his name, Algoritmi. He also worked on geography and astronomy.
[Source]
@googlefactss
📐🌍📊#AlKhwarizmi#Algebra#Algorithm#HinduArabicNumerals#History
🌳“Mening daraxtim” — kelajak uchun ezgu qadam
Tanishtiruv haftaligining uchinchi kunida “Yashil makon” umummilliy loyihasi doirasida talabalar universitet bog‘iga ko‘chat ekdilar.
🌱 Endilikda har bir guruh o‘z daraxtini doimiy ravishda parvarishlab boradi.
📸 Tadbirdan iliq va esda qolarli lahzalarni siz bilan bo‘lishamiz.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#tanishtiruv_haftaligi#alkhwarizmi#YashilMakon#MeningDaraxtim
👇 Bizning ijtimoiy tarmoqlarimiz:
Veb-sayt | Telegram | Instagram | Facebook | Aloqa-bot