Установить свойства виджета в 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
#TAYINLOV
Samarqand viloyati bojxona boshqarmasiga yangi boshliq tayinlandi
Polkovnik Salixov Shovkat Sanʼatovich Samarqand viloyati bojxona boshqarmasi boshligʻi etib tayinlandi.
Sh.Salixov tayinlovga qadar Xorazm viloyati boʻyicha boshqarmasi boshligʻi lavozimida faoliyat yuritgan.
#Tayinlov
Jizzax viloyati hokimiga yangi o‘rinbosar tayinlandi
Jizzax viloyati hokimligida o'tkazilgan yig'ilishda tashkiliy masala ko'rildi.
Xudayshukurov Dilmurod Xolmurodovich - Jizzax viloyati hokimining yoshlar siyosati, ijtimoiy rivojlantirish va ma’naviy-ma’rifiy ishlar bo‘yicha o’rinbosari lavozimiga tayinlandi.
Tayinlovga qadar Jizzax viloyati hokimligi Tashkiliy-kadrlar guruhi rahbari lavozimida faoliyat yuritib kelgan.
Kanalimizga obuna boʻling
👉@Jizzax24kanal
https://t.me/joinchat/AAAAAEb1PYV00dCr2WDOpw
#Tayinlov
Narzullayev Farxod Furqatovich O‘zbekiston yoshlar yetakchilarini qo‘llab-quvvatlash markazi Buxoro viloyati koordinatori lavozimiga tayinlandi.
Mazkur tayinlovga qadar u Buxoro shahar “Shayxon” mahallasi yoshlaryetakchisi sifatida samarali faoliyat olib borgan.
🌎Veb-sayt📱Telegram📱Facebook📱You Tube📱Instagram
#tayinlov
To‘xtamishov Azizjon Boltayevich - Buxoro shahar hokimining qurilish, kommunikatsiyalar, to‘siqlarsiz muhit yaratish, kommunal xo‘jalik, ekologiya va ko‘kalamzorlashtirish masalalari bo‘yicha o‘rinbosari – shahar Obodonlashtirish boshqarmasi boshlig‘i etib tayinlandi.
A.To‘xtamishov 1984-yil 5-aprelda Jondor tumanida tug‘ilgan, ma’lumoti - oliy. 2006-yilda Toshkent irrigatsiya va melioratsiya instituti, 2023-yilda Toshkent irrigatsiya va qishloq xo‘jaligini mexanizatsiyalash muhandislari instituti milliy tadqiqotlar universitetining Buxoro tabiiy resurslarni boshqarishi instituti (magistratura)ni tamomlagan. Ma’lumoti bo‘yicha mutaxassisligi – yer tuzish va yer kadastri hamda yer resurslaridan foydalanish va boshqarish.
Ayni vaqtga qadar u Buxoro viloyati hokimligi huzuridagi "Yagona buyurtmachi xizmati-injiniring kompaniyasi" DUK direktori lavozimida ishlab kelayotgan edi.
🌎Veb-sayt📱Telegram📱Facebook📱You Tube📱Instagram
#TAYINLOV
📌Mahkamov Sherzod Ubaydullo o‘g‘li Kattaqo‘rg‘on tuman Yoshlar ishlari bo‘limi boshlig‘i lavozimiga tayinlandi.
📌Mahkamov Sherzod Ubaydullo o‘g‘li ushbu lavozimga tayinlangunga qadar O‘zbekiston Respublikasi Din ishlari bo‘yicha qo‘mitaning Samarqand viloyati hududiy boshqarmasi Kattaqo‘rg‘on tumani bo‘yicha bosh mutaxassisi vazifasida faoliyat yuritgan.
KATTAQO'RG'ON TUMANI HOKIMLIGI AXBOROT XIZMATI
🌐Web sayt😎Telegram
#Tayinlov
Shirinov Obidjon G'aniqulovich Kattaqo'rg'on tumani hokimligi Madaniyat bo'limi boshlig'i lavozimiga tayinlandi.
Qayd etish joizki, Obidjon Shirinov bungacha tuman hokimi o'rinbosari lavozimida samarali faoliyat yuritib, o'zining tashabbuskorligi, mas'uliyatli yondashuvi bilan jamoa ishonchini qozongan.
👇
Ulaning va ulashing:
📱Telegram • 📱
#TAYINLOV
Qashqadaryo viloyat adliya boshqarmasi boshlig‘ining tegishli buyrug'i bilan:
- Turayev Akromjon Urozovich – Qarshi tuman adliya bo'lim boshlig'i lavozimiga tayinlandi.
A.To'rayev tayinlovga qadar boshqarmaning Davlat xizmatlari ko‘rsatilishi ustidan nazorat qilish sho‘basi bosh maslahatchisi lavozimida faoliyat yuritgan.
Qashqadaryo viloyat adliya boshqarmasi A.To'rayevni tayinlov bilan qutlab, kelgusidagi ishlariga omad va muvaffaqiyatlar tilaydi!
Kanalga ulaning👇👇👇
https://t.me/qashqadaryoviloyatadliya
#TAYINLOV
Qashqadaryo viloyat adliya boshqarmasi boshlig‘ining tegishli buyrug'i bilan:
- TurapovSuxrob Sattar o‘g‘li – boshqarmaning Rejalashtirish va nazorat tahlil sho‘basi boshlig‘i lavozimiga tayinlandi.
S.Turapov tayinlovga qadar boshqarmaning Yuridik xizmatlar faoliyatini muvofiqlashtirish bo‘yicha bosh maslahatchisi lavozimida faoliyat yuritgan.
Qashqadaryo viloyat adliya boshqarmasi S.Turapovni tayinlov bilan qutlab, kelgusidagi ishlariga omad va muvaffaqiyatlar tilaydi!
Kanalga ulaning👇👇👇
https://t.me/qashqadaryoviloyatadliya
#TAYINLOV
Qashqadaryo viloyat adliya boshqarmasi boshlig‘ining tegishli buyrug'i bilan:
- Azimov O‘tkir Erkinovich – boshqarmaning Huquqni qo‘llash amaliyotini o‘rganish va metodik ta’minlash sho‘basi boshlig‘i lavozimiga tayinlandi.
O'.Azimov tayinlovga qadar boshqarmaning Rejalashtirish va nazorat tahlil sho‘basi boshlig‘i lavozimida faoliyat yuritgan.
Qashqadaryo viloyat adliya boshqarmasi O'.Azimovni tayinlov bilan qutlab, kelgusidagi ishlariga omad va muvaffaqiyatlar tilaydi!
Kanalga ulaning👇👇👇
https://t.me/qashqadaryoviloyatadliya
#TAYINLOV
Qashqadaryo viloyat adliya boshqarmasi boshlig‘ining tegishli buyrug'i bilan:
- Rustamov Ruslan Rustamovich - Qashqadaryo viloyat adliya boshqarmasi boshqarmaning Intellektual mulk huquqlarini himoya qilish sho‘basi boshlig‘i lavozimiga tayinlandi.
R.Rustamov tayinlovga qadar boshqarmaning Intellektual mulk huquqlarini himoya qilish sho‘basi bosh maslahatchisi lavozimida faoliyat yuritgan.
Qashqadaryo viloyat adliya boshqarmasi R.Rustmovni tayinlov bilan qutlab, kelgusidagi ishlariga omad va muvaffaqiyatlar tilaydi!
Kanalga ulaning👇👇👇
https://t.me/qashqadaryoviloyatadliya
#TAYINLOV
Qashqadaryo viloyat adliya boshqarmasi boshlig‘ining tegishli buyrug'i bilan:
Begimov Anvar Xurramovich – Chiroqchi tuman adliya bo‘lim Yuridik xizmat ko‘rsatish markazi boshlig‘i lavozimiga tayinlandi.
A.Begimov – Shu kunga qadar Shahrisabz shahar adliya bo‘limi Yuridik xizmat ko‘rsatish markazi bosh yuriskonsulti lavozimida faoliyat yuritgan.
Qashqadaryo viloyat adliya boshqarmasi Begimov Anvar Xurramovichni - tayinlov bilan qutlab, kelgusidagi ishlariga omad va muvaffaqiyatlar tilaydi!
Biz ijtimoiy tarmoqlarda:
🔵• facebook |🎬• youtube |🌐• rasmiy sayt |🚀• telegram |📷 • instagram
#TAYINLOV
Qashqadaryo viloyat adliya boshqarmasi boshlig‘ining tegishli buyrug'i bilan:
Davronbek Olmosov Yashin o‘g‘li – Qashqadaryo viloyat adliya boshqarmasi Inson resurslari sho‘basi bosh maslahatchisi lavozimiga tayinlandi.
D.Olmosov – Shu kunga qadar Ko‘kdala tumani adliya bo‘limi Yuridik xizmat ko‘rsatish markazi boshlig‘i lavozimida faoliyat yuritgan.
Qashqadaryo viloyat adliya boshqarmasi Olmosov Davronbek Yashin o‘g‘lini - tayinlov bilan qutlab, kelgusidagi ishlariga omad va muvaffaqiyatlar tilaydi!
Biz ijtimoiy tarmoqlarda:
🔵• facebook |🎬• youtube |🌐• rasmiy sayt |🚀• telegram |📷 • instagram