TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #381 · 23 окт.

Установить свойства виджета в 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

Hashtags

Резултати

Пронајдени 5 слични објави

Пребарај: #verification

当前筛选 #verification清除筛选

"በስማችሁ ገንዘብ ተጠይቆባችሁ ያውቃል? ወዳጅ ዘመዶቻችሁ ለሳይበር ሌቦች ሰለባ እንዳይሆኑ ይህንን የጥንቃቄ መልዕክት ያጋሩላቸው!" *********************** በኢትዮጵያ በዋትሳፕ (WhatsApp)፣ በቴሌግራም (Telegram) እና በሌሎች የመልዕክት መላላኪያ ማህበራዊ ገጾች አማካኝነት የሚፈጸሙ የሳይበር ጥቃቶች እና የማጭበርበር ድርጊቶች በአሳሳቢ ሁኔታ መጨመራቸውን የኢንፎርሜሽን መረብ ደህንነት አስተዳደር (ኢመደአ) አስታወቀ። ወንጀለኞቹ ወቅታዊ ኩነቶችን፣ ሲምፖዚየሞችን እና ስብሰባዎችን እንደ አጋጣሚ በመጠቀም የተለያዩ የማታለያ ዘዴዎችን እንደሚጠቀሙ አስተዳደሩ ገልጿል። ከማጭበርበሪያ ስልቶቹ መካከልም "ነጻ የኢንተርኔት ፓኬጅ" እና "ልዩ የሥራ ቅጥር" የሚሉ አሳሳች መልዕክቶችን ማሰራጨት አንዱ መሆኑን ገልጿል። በሁለተኛ ደረጃ ደግሞ ተጠቃሚዎች በመልዕክቱ ውስጥ ያሉ ሊንኮችን (Links) እንዲጫኑ በማድረግ አካውንታቸውን መጥለፍ ነው። በሦስተኛ ደረጃ የተጠለፈውን አካውንት በመጠቀም በተጎጂው ስም ከቅርብ ዘመዶቹ የገንዘብ ድጋፍ መጠየቅ መሆናቸውን የኢንፎርሜሽን መረብ ደህንነት አስተዳደር (ኢመደአ) ባወጣው መረጃ አስታውቋል። እንዲህ አይነት ክስተቶችን ለመከላከል እና ተጎጂ ላለመሆን ማህበረሰቡ ከሳይበር ጥቃት ራሱን መጠበቅ እንዳለበት ያሳሰበው የኢንፎርሜሽን መረብ ደህንነት አስተዳደር በተለይ የሚከተሉትን መውሰድ እነደሚገባ በጥብቅ አሳስቧል፦ 1. አጠራጣሪ ሊንኮችን አለመክፈት፡ ከማይታወቁ አድራሻዎች የሚላኩ መልዕክቶችን "Report" እና "Block" ማድረግ። 2. ምስጢራዊ ኮዶችን አለመስጠት፡ በስልክ የሚላክ የማረጋገጫ ኮድን (Verification Code) ለማንም አካል አለመንገር። 3. የሁለትዮሽ ማረጋገጫ (Two-Step Verification)፡ ጠላፊዎች በቀላሉ አካውንትን እንዳይቆጣጠሩ ተጨማሪ የደህንነት ቁልፍ የሚፈጥረውን የቴክኖሎጂ ዘዴ በአስቸኳይ መተግበር። የኢንፎርሜሽን መረብ ደህንነት አስተዳደር (ኢመደአ) ወንጀለኞችን በህግ ተጠያቂ ለማድረግ እየሰራ መሆኑን ገልጾ፣ ማንኛውም አጠራጣሪ እንቅስቃሴ ሲያጋጥም በነጻ ስልክ መስመር 933 በመደወል ጥቆማ እንዲሰጥ ጥሪ አቅርቧል። #EthiopianBroadcastingCorporation#Verification#ኢመደአ

Libreware

@libreware · Post #1312 · 29.07.2024 г., 14:12

Harbor Decentralized p2p identity verification system. Identity management application written, targeting iOS, and Android, built on Polycentric. Create pseudonymous identities, make claims, link identities across applications. Checkout harbor.social, or docs.polycentric.io for more information What is Harbor and How it Works: https://peertube.futo.org/w/939a212d-920f-4411-b9b6-d60aa4ef4db7 https://gitlab.futo.org/polycentric/harbor/ #p2p#id#verification#futo

Libreware

@libreware · Post #1564 · 20.03.2026 г., 00:42

#Systemd Adds #Age#Verification & #Reddit#Linux Censors Age Verification Posts Plus: Which Open Source Operating Systems plan to include Age Verification? The Lunduke Journal compiles a list. Does It Age Verify?: https://github.com/BryanLunduke/DoesItAgeVerify https://lunduke.com https://www.youtube.com/watch?v=M3erhbwqIAM Lennart Poettering #microsoft#stalking#surveillance#backdoor#trojan

Venture Village Wall 🦄

@venturevillagewall · Post #3381 · 18.12.2024 г., 12:09

Fight Disinformation with AI INAR .IA Labs & Technologies has raised $1.21M for its innovative SaaS platform aimed at automating the detection and verification of disinformation across online content. Scheduled to launch on December 18, 2024, this multimodal and multilingual tool is set to enhance online security and information integrity. More details can be found at TrueFlag. #Funding#Technology#AI#SaaS#Disinformation#Verification#OnlineSafety#Security#Innovation#Automation#Multimodal#Multilingual#Integrity#Content#Platform#Launch #2024 #INAR#TrueFlag#Labs