Установить свойства виджета в 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
🤖 ZARARLI "APK" ILOVALARI ENDI SIZGA XAVF SOLOLMAYDI
🇺🇿 SAMARQAND VILOYATI IIB AXBOROT TEXNOLOGIYALARI SOHASIDAGI JINOYATLARGA QARSHI KURASHISH BOSHQARMASI TOMONIDAN:
📦 Zararli "APK" havolalarini aniqlay oluvchi yangi "samcyber102" ilovasi ishlab chiqildi. Bu ilova sizga, telefon qurilmangizga zarar yetkazishi mumkin bo‘lgan xavfli fayllarni ishlatishdan avval ogohlantirish imkonini beradi.
✅ Ilovaning afzalliklari:
- Ilovani
🤖Google Play dan yuklab olish mumkin
- APK havolalarini aniqlash va xavfli fayllardan ogohlantirish
- Telefon maʼlumotlaringizni himoya qilish
- Foydalanuvchi uchun oddiy va qulay interfeys
🆘 Yaqinlaringizga yuborib qo‘yishni unutmang!
➡️#virus | Birinchi raqamli IT-Blog
🔔Viruslar: ehtiyot boʻling yuqib qolmasin!
Fayl viruslari
Bu viruslar fayllar ichiga yashiriladi. Foydalanuvchi buni hatto sezmaydi. Faylni koʻchirish jarayonida virus ham birga koʻchadi. Uning boshqa nomi parazit virus, chunki fayl viruslari nafaqat fayllarga, balki serverga ham zarar yetkazadi.
Brauzer oʻgʻrisi
Nomidan koʻrinib turibdiki, virusning asosiy vazifa brauzerga zarar yetkazishdir. U brauzerni qayta yoʻnaltirish virusi deb ham ataladi, chunki u brauzeringizni kompyuter tizimiga zarar yetkazishi mumkin boʻlgan boshqa zararli saytlarga yoʻnaltiradi.
Chuvalchang virusi
Albatta, nomi kulgili. Lekin qiladigan ishi haqida bunday deya olmaymiz. Virus koʻpayish xususiyatiga ega. Kompyuteringizga tushgach uning xotirasini toʻldirishni boshlaydi. Baʼzi kuzatuvchilarimiz kompyuterlarining xotirasi tez toʻlib qolishidan nolishadi, har ehtimolga qarshi antivirusingizni yangilashni maslahat beramiz.
💻@ITMastersUz | @mohirdev | #virus
Ogoh bo'ling! Yangi virus Windows yangilanishi ko'rinishida kompyuterlarni bloklashi mumkin.
Trend Micro va Fortinet kompaniyalarining axborot xavfsizligi bo'yicha mutaxassislari yangi Big Heat virusini topdilar, u kompyuterga kirib, barcha fayllarni shifrlaydi va pul undiradi.
Big Heat Internetda Windows va Microsoft Word o'rnatuvchisi uchun yangilanishlar niqobi ostida tarqatiladi.
Zararli fayl faollashtirilgandan so'ng, ekranda Windows yangilash jarayoniga taqlid qiluvchi animatsiya paydo bo'ladi.
Jarayon tugagandan so'ng, foydalanuvchi uning kompyuteri shifrlanganligi haqida xabar oladi - tizimni tiklash uchun siz elektron pochta yoki Telegram orqali xakerlar bilan bog'lanishingiz kerak.
U yerda hakerlar jabrlanuvchidan ularning hisobiga kriptovalyutadagi to'lovni o'tkazishni so'rashadi.
👉Bizning barcha loyihalar | #virus
Ogoh bo'ling! Yangi virus Windows yangilanishi ko'rinishida kompyuterlarni bloklashi mumkin.
Trend Micro va Fortinet kompaniyalarining axborot xavfsizligi bo'yicha mutaxassislari yangi Big Heat virusini topdilar, u kompyuterga kirib, barcha fayllarni shifrlaydi va pul undiradi.
Big Heat Internetda Windows va Microsoft Word o'rnatuvchisi uchun yangilanishlar niqobi ostida tarqatiladi.
Zararli fayl faollashtirilgandan so'ng, ekranda Windows yangilash jarayoniga taqlid qiluvchi animatsiya paydo bo'ladi.
Jarayon tugagandan so'ng, foydalanuvchi uning kompyuteri shifrlanganligi haqida xabar oladi - tizimni tiklash uchun siz elektron pochta yoki Telegram orqali xakerlar bilan bog'lanishingiz kerak.
U yerda hakerlar jabrlanuvchidan ularning hisobiga kriptovalyutadagi to'lovni o'tkazishni so'rashadi.
👉Bizning barcha loyihalar | #virus
THE FOREVER VIRUS
In a perceptive article titled “The forever virus” published in the July-August issue of Foreign Affairs, authors caution that the #virus “is not going away”.
Read more»»
@Enviro_Climate
Microsoft Defender bilan kompyuterni virusga tekshirish
🔐 Avval aytganimizdek, Microsoft Defender Windows operatsion tizimi bilan birga o'rnatilgan ichki himoya dasturidir.
⚙️Microsoft Defender-ga 1- va 2-rasmdagidek Settings > Update & Security > Windows Security va Open Windows Security tugmasini bosish orqali dasturga kiriladi (yoki pastki o'ng burchakdan Windows ikonkasini bosib kirishingiz mumkin).
🔺 Agar sizda 3-rasmdagi kabi barcha belgilar yashil bo'lsa, demak, havotirga o'rin yo'q, kompyuteringiz Microsoft Defender tomonidan qo'riqlanmoqda.
🔹 Aks holda, biron-bir bo'limda qizil belgisi bo'lsa, demak, o'sha qism ishlamayapti (4-rasm). Ishlatish uchun Turn on tugmasini bosish kifoya.
ℹ️ Agar kompyuteringizni virus uchun tekshirmoqchi bo'lsangiz, Virus & threat protection bo'limiga o'ting va Quick scan tugmasini bosing. Qisqa vaqt ichida kompyuteringiz tekshiriladi va natijalar ko'rsatiladi.
🌐Birinchi raqamli Windows Blog | #foydali / #virus
Malware - nima?
ℹ️Malware (kengaytmasi: malicious software; o'zbekchada: zararli dasturiy ta'minot) bu kompyuterga, serverga yoki kompyuter tarmog'iga zarar yetkazish uchun qasddan ishlab chiqilgan har qanday dasturiy ta'minotdir.
🦠Malware - kompyuter viruslari, worm-lar, troyan viruslari, ransomware, spyware, adware-larning "otasidir", ya'ni yuqorida sanab o'tilganlarning hammasi umumiy qilib malware deyiladi.
☠️Malware barcha ma'lumotlarni, o'g'irlashdan tortib to butun tizimlar yoki qurilmalarni buzishgacha bo'lgan har xil xavfli ishlarni amalga oshirishi mumkin.
🛡Malware-lardan himoyalanish foydalanuvchi hushyorligi va u ishlatadigan himoya vositalariga bog'liqdir.
📩 Zararli dasturlarni tarqatuvchilar o'z o'ljalarini "Siz iPhone X yutub oldingiz. Olish uchun bu yerga o'ting" yoki "Falon brenddan aksiya" deb o'zlariga jalb qiladilar.
P.S.: Shunday ekan har xil yolg'onlarga aldanmang,tekin pishloq faqat qopqonda bo'ladi.
👉🏼Birinchi raqamli Windows Blog | #virus / #foydali
Malware - nima?
ℹ️Malware (kengaytmasi: malicious software; o'zbekchada: zararli dasturiy ta'minot) bu kompyuterga, serverga yoki kompyuter tarmog'iga zarar yetkazish uchun qasddan ishlab chiqilgan har qanday dasturiy ta'minotdir.
🦠Malware - kompyuter viruslari, worm-lar, troyan viruslari, ransomware, spyware, adware-larning "otasidir", ya'ni yuqorida sanab o'tilganlarning hammasi umumiy qilib malware deyiladi.
☠️Malware barcha ma'lumotlarni, o'g'irlashdan tortib to butun tizimlar yoki qurilmalarni buzishgacha bo'lgan har xil xavfli ishlarni amalga oshirishi mumkin.
🛡Malware-lardan himoyalanish foydalanuvchi hushyorligi va u ishlatadigan himoya vositalariga bog'liqdir.
📩 Zararli dasturlarni tarqatuvchilar o'z o'ljalarini "Siz iPhone X yutub oldingiz. Olish uchun bu yerga o'ting" yoki "Falon brenddan aksiya" deb o'zlariga jalb qiladilar.
P.S.: Shunday ekan har xil yolg'onlarga aldanmang,tekin pishloq faqat qopqonda bo'ladi.
👉🏼Birinchi raqamli Windows Blog | #virus / #foydali
Microsoft Defender bilan kompyuterni virusga tekshirish
🛡 Avval aytganimizdek, Microsoft Defender Windows operatsion tizimi bilan birga o'rnatilgan ichki himoya dasturidir.
⚙️Microsoft Defender-ga 1- va 2-rasmdagidek Settings > Update & Security > Windows Security va Open Windows Security tugmasini bosish orqali dasturga kiriladi (yoki pastki o'ng burchakdan Windows ikonkasini bosib kirishingiz mumkin).
✅ Agar sizda 3-rasmdagi kabi barcha belgilar yashil bo'lsa, demak, havotirga o'rin yo'q, kompyuteringiz Microsoft Defender tomonidan qo'riqlanmoqda.
❌ Aks holda, biron-bir bo'limda qizil belgisi bo'lsa, demak, o'sha qism ishlamayapti (4-rasm). Ishlatish uchun Turn on tugmasini bosish kifoya.
🔍 Agar kompyuteringizni virus uchun tekshirmoqchi bo'lsangiz, Virus & threat protection bo'limiga o'ting va Quick scan tugmasini bosing. Qisqa vaqt ichida kompyuteringiz tekshiriladi va natijalar ko'rsatiladi.
👉🏼Birinchi raqamli Windows Blog | #foydali / #virus
Malware - nima?
ℹ️Malware (kengaytmasi: malicious software; o'zbekchada: zararli dasturiy ta'minot) bu kompyuterga, serverga yoki kompyuter tarmog'iga zarar yetkazish uchun qasddan ishlab chiqilgan har qanday dasturiy ta'minotdir.
🦠Malware - kompyuter viruslari, worm-lar, troyan viruslari, ransomware, spyware, adware-larning "otasidir", ya'ni yuqorida sanab o'tilganlarning hammasi umumiy qilib malware deyiladi.
☠️Malware barcha ma'lumotlarni, o'g'irlashdan tortib to butun tizimlar yoki qurilmalarni buzishgacha bo'lgan har xil xavfli ishlarni amalga oshirishi mumkin.
🛡Malware-lardan himoyalanish foydalanuvchi hushyorligi va u ishlatadigan himoya vositalariga bog'liqdir.
📩 Zararli dasturlarni tarqatuvchilar o'z o'ljalarini "Siz iPhone X yutub oldingiz. Olish uchun bu yerga o'ting" yoki "Falon brenddan aksiya" deb o'zlariga jalb qiladilar.
P.S.: Shunday ekan har xil yolg'onlarga aldanmang,tekin pishloq faqat qopqonda bo'ladi.
👉🏼Birinchi raqamli Windows Blog | #virus / #foydali
🛡 Dunyodagi eng mehribon virus aniqlandi:
Salom, men — Albaniya kompyuter virusiman.
Afsuski, mamlakatimda texnologiyalar yomon rivojlanganligi sababli, kompyuteringizga zarar yetkaza olmayman.
Iltimos, muhim fayl va papkalaringizni o‘zingiz qo‘lda o‘chirib tashlang. Va meni elektron pochta orqali do‘stlaringizga yuboring.
Hamkorlik uchun rahmat!
Eng yaxshi tilaklar bilan, sizning Albaniya virusingiz.
➡️#virus#kayfiyat | Birinchi raqamli IT-Blog