Установить свойства виджета в 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
#Saylov2024
Saylov – 2024: imzo to‘plash davom etmoqda
Tadbirkorlar va ishbilarmonlar harakati – O‘zbekiston Liberal-Demokratik partiyasi ham 2024 yilgi parlament saylovlariga puxta tayyorgarlik va yangi strategiya bilan qatnashmoqda.
Batafsil: https://uza.uz/posts/621843
📱Mobil ilova 👉iOS | Android
O`zbekcha | Ўзбекча | Русская | Илм-фан | Тезкор
#SAYLOV2024
✔️ 27-oktyabr kuni O‘zbekiston Respublikasi Oliy Majlisi Qonunchilik palatasi, Xalq deputatlari Toshkent shahar va tuman kengashlariga saylovlar bo‘lib o‘tdi.
⏩ O‘zbekiston Respublikasi Saylov kodeksining 201, 26, 921, 96 va 97-moddalariga muvofiq hamda uchastka saylov komissiyalarining ovozlarni sanab chiqish natijalari to‘g‘risidagi bayonnomalariga asosan Mirzo Ulug‘bek tuman saylov komissiyasining “Xalq deputatlari Mirzo Ulug‘bek tumani Kengashiga deputatlar saylovining natijalari to‘g‘risida” Qarori tasdiqlandi.
✔️Qarorga muvofiq, 2024-yil 27-oktyabrda o‘tkazilgan Xalq deputatlari Mirzo Ulug‘bek tumani Kengashiga deputatlar saylovi o‘tgan va haqiqiy deb topildi. Saylov okruglaridan xalq deputatlari Mirzo Ulug‘bek tumani Kengashiga saylangan 25 nafar deputat ilovaga muvofiq (ro‘yxat suratlarda aks ettirilgan) ro‘yxatga olindi.
(Ilova)👉 Xalq deputatlari Mirzo Ulug‘bek tumani Kengashiga deputatlar
***
✔️27 октября состоялись выборы в Законодательную палату Олий Мажлиса Республики Узбекистан, а также в Ташкентский городской и районные Кенгаши народных депутатов.
⏩ В соответствии со статьями 20, 26, 92¹, 96 и 97 Избирательного кодекса Республики Узбекистан и на основании протоколов участковых избирательных комиссий о результатах подсчета голосов было утверждено решение Мирзо-Улугбекской районной избирательной комиссии об итогах выборов депутатов Мирзо-Улугбекского районного Кенгаша народных депутатов.
✔️ Согласно этому постановлению, выборы депутатов Мирзо-Улугбекского районного Кенгаша народных депутатов, состоявшиеся 27 октября 2024 года, признаны состоявшимися и действительными. 25 депутатов, избранных в Мирзо-Улугбекский районный Кенгаш народных депутатов от избирательных округов, были зарегистрированы в соответствии с приложением (список представлен на фотографиях).
(Приложение) 👉Депутаты Мирзо-Улугбекского районного Кенгаша народных депутатов
🚀Telegram🔵Facebook
📷 Instagram🎬YouTube
Эксклюзив: пойтахтимизда ЎзЛиДеПнинг оммавий тадбири бўлиб ўтди
😎ЎзЛиДеП юртимиз равнақи ва халқ фаровонлиги йўлида янги ғоялар билан майдонга чиқди.
😎 Партия халқ ишончини оқлаб, тараққиётнинг мустаҳкам таянчига айланмоқда. ЎзЛиДеП билан келажак янада порлоқ ва ишончли!
🇺🇿 Қудратли Ўзбекистонни биргаликда қурамиз!
🇺🇿 Ваъда эмас - натижа, эртага эмас - бугун.
✔️ ЎзЛиДеП ва унинг номзодларига овоз беринг!
#uzlidep#saylov2024
🖥Расмий саҳифаларимизга уланинг
Чекка ҳудудларда "Ижтимоий пакет" тизими жорий этилади
♻️ ЎзЛиДеПдан Олий Мажлис Қонунчилик палатаси депутатлигига кўрсатилган номзод Абдуманноп Буриевнинг навбатдаги сайловолди учрашуви Бўка туманидаги Тиббиёт бирлашмасида бўлиб ўтди.
✅ Тадбир давомида сайловчиларга 5 мақсад ва 500 вазифани ўз ичига қамраб олган партияни сайловолди дастурини мазмун-моҳияти ҳақида тушунчалар бериб ўтилди.
✅ Айниқса йиғилганларни тиббиёт соҳасига йиллик маблағ ҳажмини 2 карра ошириш, кафолатланган бепул тиббий ёрдам, унинг аниқ ҳажмининг ҳуқуқий асосларини ишлаб чиқиш, соғлиқни сақлаш тизимини тўлиқ рақамлаштириш, фуқароларга тиббий хизматлар учун кредитлар ажратиш, чекка ҳудудларда ишлаётган малакали тиббиёт ходимлари учун "Ижтимоий пакет" тизимини жорий этиш каби таклифлар қизиқтирди.
#uzlidep#saylov2024
🖥Расмий саҳифаларимизга уланинг
Кексалар доимий эътиборимизда бўлади!
🌐ЎзЛиДеПдан Олий Мажлис Қонунчилик палатаси депутатлигига Тошкент вилояти 50-сайлов округиданномзод Мамура Халилова Янги йўл шаҳар Тиббиёт бирлашмаси мажлислар залида сайловчилар билан навбатдаги учрашди.
🗣 Унда кенг жамоатчилик вакилларига ЎзЛиДеПнинг бу галги сайловлардаги иштироки, Сайловолди дастуридаги ҳаётбахш мақсад ва вазифалари ҳақида сўз борди.
⚡️Йиғилган орасида ёши улуғлар борлиги инобатга олиниб, ЎзЛиДеП дастурида Кексалар соғлигини тиклаш ва мазмунли дам олиши учун алоҳида дастур қабул қилиш таклифи асосида "Кексалар саломатлигини муҳофаза қилиш тўғрисида"ги қонунни қабул қилиш орқали 70 ёшдан ошган кексаларга бепул тиббий ва зарур ижтимоий хизматни кучайтириш каби йўналишларга алоҳида урғу берилгани борасида атрофлича тушунтиришлар берилди.
#uzlidep#saylov2024
🖥Расмий саҳифаларимизга уланинг
▶️25 октябрь куни соат 17:00 сиёсий партиялар спикерлари иштирокида жонли эфирда дебатлар бўлиб ўтади.
➖ Дебатларни ўзбек тилида: Uzreport TV, Sevimli, RTV, My5, Zo‘r TV
➖ Рус тилида: Dunyo bo'ylab
➖ Инглиз тилида: Foreign Language каналларида кўришингиз мумкин!
📌Эфирни ўтказиб юборманг!
#uzlidep#saylov2024
🖥Расмий саҳифаларимизга уланинг
Камбағаллик кўламини 2 баробарга қисқартириш асосий мақсадимиз бўлади
📌Сиёсий партиялар ўртасида ўтказилган дебатда Адолат партияси вакили ЎзЛиДеПнинг сайловолди дастурида камбағалликни қисқартириш бўйича ҳам таклифлар бор ёки йўқлиги билан қизиқди.
😎 Сайловолди дастуримизда камбағаллик кўламини икки карра камайтиришни белгилаб олганмиз.
❇️ Бунга эришиш учун аҳолини тадбиркорликка жалб қилишнинг маҳаллабай дастурларини ишлаб чиқиш ниятидамиз.
❇️ Туман, шаҳар, маҳаллаларнинг алоҳида мастер-режалари ишлаб чиқилади, тадбиркорлик оммавий тус олишига эришилади.
❇️ Бундан ташқари, касб-ҳунарга ўқитиш кўлами ҳар йили икки баравар оширилишига эришмоқчимиз. Бу орқали келгуси беш йилда камида 1 миллион фуқаро бозори чаққон касбларга ўргатилади.
#uzlidep#saylov2024
🖥Расмий саҳифаларимизга уланинг
Аҳоли ва иқтисодиёт тармоқларини зарур энергия ресурслари билан узлуксиз таъминлаш асосий мақсадларимиздан бўлади
📌Сиёсий партиялар ўртасида ўтказилган дебатда Экология партияси вакили ЎзЛиДеПнинг сайловолди дастурида аҳоли ва иқтисодиёт тармоқларини барқарор энергия билан таьминлашда қандай таклифлар билдирилганлиги ҳақида савол билан мурожаат қилди.
♻️ Биз “Яшил энергия” орқали генерация кўламини кенгайтириш зарур деб ҳисоблаймиз. Республикамизда қайта тикланувчи энергия манбаларини 2,5 баробарга ошириб, ишлаб чиқарилган энергияда уларнинг улушини 40 фоизга етказишни режа қилганмиз.
❇️ Бугунги кунда энергетика соҳасини альтернатив энергия манбаларисиз тасаввур қилиш қийин. Шу орқали энергия самарадорлигини 2 карра оширишга эришмоқчимиз.
#uzlidep#saylov2024
🖥Расмий саҳифаларимизга уланинг
😎 ЎЗЛИДЕП НОМЗОДЛАРИ БИЛАН ТАНИШИНГ
✅ 49 Тошкент вилояти сайлов округидан Олий Мажлис Қонунчилик палатаси депутатлигига номзод Ортиқбоев Отабек Музаффар ўғли 1991 йил Тошкент вилояти Бўстонлиқ туманида туғилган.
🖥 Миллати ўзбек, маълумоти олий. 2017 йил Тошкент давлат аграр университетини тамомлаган. Ихтисослиги - маркетолог. ЎзЛиДеП аъзоси. Оилали. Уч нафар фарзанди бор.
💼 Меҳнат фаолиятини 2013 йил Тошкент вилояти Бўстонлиқ тумани “Миллий банк” Ғазалкент филиали 2 тоифали мутахассиси лавозимида бошлаган. 2017- 2019 йилларда Тошкент вилояти Бўстонлиқ тумани ҳокимлиги бош мутахассиси, 2019-2023 йиллар Ўзбекистон Республикаси Давлат активларини бошқариш агентлиги Тошкент вилояти ҳудудий бошқармаси бош мутахассиси, бўлими бошлиғи лавозимларида ишлаган.
📍 2024 йилдан Ўзбекистон Республикаси Давлат активларини бошқариш агентлиги Тошкент вилояти ҳудудий бошқармаси бошлиғининг ўринбосари лавозимида фаолият юритмоқда.
#uzlidep#saylov2024
🖥Расмий саҳифаларимизга уланинг