Установить свойства виджета в 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
#OAV biz haqimizda
"Xalq so'zi" gazetasining 5-sonida:
KO'ZGU
"Ilm-fan — jamiyat taraqqiyotining ko'zgusi" - Nizomiddin MAHMUDOV, O'zR FA O'zbek tili, adabiyoti va folklori instituti direktori, f.f.d., professor.
😎Telegram |🌐Websayt
😎Facebook |😎YouTube|😎Instagram
#OAV
Navoiyda ekologik tashabbuslar izchil davom etmoqda. Xususan, “Tabiatga ehson” loyihasi doirasida tashkil etilgan navbatdagi aksiya keng jamoatchilik e’tiborini tortdi.
Navoiy shahar markaziy dehqon bozori hududida o‘tkazilgan mazkur tadbir Navoiy viloyat telekanalining Diyor 24 axborot dasturi orqali efirga uzatildi.
Ekopartiya Navoiy viloyati Kengashi matbuot xizmati
👇👇Kanalimizga obuna bo‘ling
https://t.me/navoiyekopartiya
#OAV
O‘zbekiston Ekologik partiyasi Navoiy viloyat Kengashi tomonidan “Kelajak” markazida xotin-qizlar ishtirokida o‘tkazilgan “Ayollar — ekologik madaniyat targ‘ibotchisi” mavzusidagi davra suhbati Navoiy viloyat telekanalining “Diyor 24” axborot dasturida efirga uzatildi.
Unda atrof-muhitni muhofaza qilish, ekologik madaniyatni yuksaltirishda xotin-qizlarning o‘rni, shuningdek ekologik tarbiyani avvalo oiladan boshlash masalalari haqida so‘z yuritildi. 🌿
Ekopartiya Navoiy viloyati Kengashi matbuot xizmati
👇👇Kanalimizga obuna bo‘ling
https://t.me/navoiyekopartiya
#OAV
Karmana tumanidagi Navoiy raqamli texnologiyalar texnikumida yoshlar bilan ochiq muloqot tashkil etildi.
Unda Oʻzbekiston Ekologik partiyasi Navoiy viloyat Kengashi raisi o‘rinbosari, Xalq deputatlari Karmana tuman Kengashi deputati A. Jo‘rayev ishtirok etib, Yangi Oʻzbekistonda yoshlar masalasi davlat siyosatining ustuvor yo‘nalishlaridan biri ekani alohida ta’kidlandi.
Uchrashuv davomida yoshlarga yaratilayotgan imkoniyatlar, zamonaviy kasb-hunar egallash, bandlikni ta’minlash hamda “Oʻzbekiston – 2030” strategiyasi doirasida ekologik madaniyatni yuksaltirish va atrof-muhitga mas’uliyatli munosabatni shakllantirish borasida amalga oshirilayotgan ishlar haqida batafsil ma’lumot berildi.
Mazkur ochiq muloqot jarayoni Navoiy telekanalining “Diyor 24” axborot dasturi orqali keng jamoatchilikka efirga uzatildi.
Ekopartiya Navoiy viloyati Kengashi matbuot xizmati
👇Kanalimizga obuna bo‘ling!
https://t.me/navoiyekopartiya
#OAV
Har bir me'yoriy-huquqiy normativ hujjatlar jamoatchilik muhokamasidan o'tkaziladi
Boriy Alixonov,
Oliy Majlis Qonunchilik palatasi deputati
Ekopartiya Toshkent shahar Kengashi matbuot xizmati
𝐓𝐞𝐥𝐞𝐠𝐫𝐚𝐦 | 𝐈𝐧𝐬𝐭𝐚𝐠𝐫𝐚𝐦|𝐅𝐚𝐜𝐞𝐛𝐨𝐨𝐤
#OAV
“Oʻzbekiston–2030” strategiyasini takomillashtirish masalalari muhokama qilindi
Navoiy shahridagi viloyat Ma’naviyat va ma’rifat markazida “Oʻzbekiston – 2030” strategiyasini takomillashtirishning mazmun-mohiyati va uning amaliy ahamiyati” mavzusida keng qamrovli targʻibot tadbiri boʻlib oʻtdi.
Targʻibot tadbiri davomida “Oʻzbekiston – 2030” strategiyasini takomillashtirishning mazmun-mohiyati haqida Xalq deputatlari viloyat Kengashi doimiy komissiya raisi, Oʻzbekiston Ekologik partiyasi Navoiy viloyat Kengashi raisi, “Yuksalish” umummilliy harakati viloyat boʻlinmasi boshligʻi A. Jalilov atroflicha ma’ruza qildi.
Mazkur targʻibot tadbiri Navoiy viloyat telekanalining “Diyor 24” axborot dasturi orqali efirga uzatilib, keng jamoatchilik e’tiboriga havola etildi.
Navoiy viloyati Kengashi matbuot xizmati
👇👇Kanalimizga obuna bo‘ling
https://t.me/navoiyekopartiya
#OAV
Navoiy viloyat telekanalining “Assalom, Yangi kun” tonggi axborot-tahliliy dasturida O‘zbekiston Ekologik partiyasidan Karmana tuman Kengashiga saylangan deputat Zokir Tog‘ayev ishtirokida suhbat bo‘lib o‘tdi.
Navoiy viloyati Kengashi matbuot xizmati
👇👇Kanalimizga obuna bo‘ling
https://t.me/navoiyekopartiya
#OAV
Konstitutsiya – inson qadri, erkinlik, tenglik va adolat garovi!
Sharq universitetida O‘zbekiston Respublikasi Konstitutsiyasining 33 yilligiga munosabati bilan O‘zbekiston Ekologik partiyasi Navoiy viloyat Kengashi tashabbusi bilan, Sharq universiteti, Navoiy shahar Adliya bo‘limi, O‘zbekiston Ekologik harakati Navoiy viloyati hududiy boshqarmasi hamda Navoiy davlat universiteti Tarix fakulteti hamkorligida davra suhbati o'tkazildi.
Uchrashuvda talabalarga Asosiy qonunimizning mazmun-mohiyati, inson huquq va erkinliklarini ta’minlashdagi o‘rni, shuningdek, konstitutsiyaviy islohotlarning jamiyat taraqqiyotiga ta’siri haqida atroflicha ma’lumotlar berildi.
📺 Mazkur tadbir Navoiy telekanalining “Diyor 24” axborot dasturi orqali efirga uzatildi.
Navoiy viloyati Kengashi matbuot xizmati
👇👇Kanalimizga obuna bo‘ling
https://t.me/navoiyekopartiya
#OAV
Konstitutsiya - jamiyat va davlatning huquqiy poydevori
Konstitutsiya – jamiyat va davlat taraqqiyotining mustahkam huquqiy poydevori sanaladi. Unda nafaqat fuqarolarning huquq va erkinliklari, balki jamiyatning barqaror rivojlanishi uchun zarur bo‘lgan ekologik me'yorlar, atrof-muhitni muhofaza qilishga doir tamoyillar ham aniq belgilab qo‘yilgan.
Shu ma’noda, O‘zbekiston Ekologik partiyasi Navoiy viloyati Kengashi tomonidan hududlarda amalga oshirilayotgan tizimli ishlar alohida e’tiborga loyiq. Partiya faollari nafaqat ekologik qonunchilikning mazmun-mohiyatini ommaga yetkazish, balki amaliy loyihalar, targ‘ibot tadbirlari va fuqarolar ishtirokidagi ekologik tashabbuslarni qo‘llab-quvvatlashga ham katta ahamiyat qaratmoqda.
Mahalla telekanalining “Joyida” informatsion dasturi orqali efirga uzatilgan axborotda aynan shu masalalar yoritildi.
Navoiy viloyati Kengashi matbuot xizmati
👇👇Kanalimizga obuna bo‘ling
https://t.me/navoiyekopartiya
#OAV
O‘zbekiston Ekologik partiyasi Navoiy viloyat Kengashi hamda Navoiy davlat konchilik va texnologiyalari universiteti hamkorligida Navoiy viloyati Ma’naviyat va ma’rifat markazida yoshlar ekologik tafakkurini rivojlantirishga qaratilgan “Yoshlar tashabbuslari: Yashil taraqqiyot uchun zamonaviy yechimlar” mavzusidagi tadbir jarayonlari Navoiy viloyat telekanalining“Diyor 24” axborot dasturi orqali efirga uzatildi.
Navoiy viloyati Kengashi matbuot xizmati
👇👇Kanalimizga obuna bo‘ling
https://t.me/navoiyekopartiya
#OAV
Navoiy viloyati Yoshlar markazida bo‘lib o‘tgan Fuqarolik jamiyati haftaligi forumi Navoiy viloyat telekanalining “Diyor 24” axborot dasturida orqali efirga uzatildi.
Tadbir doirasida Yuksalish harakati — Navoiy viloyati hududiy bo‘linmasi rahbari Alijon Jalilov o‘z fikrlarida yoshlarning ijtimoiy tashabbuslariga berilayotgan e’tibor oshayotganini, mahalliy darajada amalga oshirilayotgan loyihalar fuqarolar hayotiga bevosita ijobiy ta’sir ko‘rsatayotganini ta’kidladi.
Navoiy viloyati Kengashi matbuot xizmati
👇👇Kanalimizga obuna bo‘ling
https://t.me/navoiyekopartiya
#OAV
Navoiy viloyat telekanalining “Ekologik muvozanat” ko‘rsatuvida Karmana tumanida “Yashil makon” umummilliy loyihasi doirasida olib borilayotgan keng ko‘lamli ishlar hamda ularni amalga oshirishdagi faollik xususida kòrsatuv efirga uzatildi.
Kòrsatuvda O‘zbekiston Ekologik partiyasi Navoiy viloyat Kengashi bosh mutaxassisi Sardor Islomov loyiha doirasida partiya tomonidan viloyat va tuman darajasida olib borilayotgan amaliy ishlar haqida so‘z yuritgan.
Navoiy viloyati Kengashi matbuot xizmati
👇👇Kanalimizga obuna bo‘ling
https://t.me/navoiyekopartiya