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

Резултати

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

Пребарај: #maxfiylik

当前筛选 #maxfiylik清除筛选
Far·hod·jon

@farhodjon · Post #494 · 21.05.2022 г., 15:22

Odamlarning maxfiylik huquqi haqida keyinroq va batafsilroq to’xtalaman, lekin yaqinda chiqqan ikkita videoni bo’lishmoqchiman quyida. Birinchisi DuckDuckGo qidiruv tizimidan (asosiy qidiruv sifatida ishlatayotganimga ancha bo’ldi) va The Police guruhining "Every Breath You Take" ("Olayotgan har bir nafasing") qo’shig’iga moslab ishlangan: https://twitter.com/DuckDuckGo/status/1526555252236988419 Ikkinchisi Apple’dan "Data Auction" ("Ma’lumotlar auksioni") deb nomlanadi va reklama asosida pul topadigan kompaniyalar sizning (bizning) ma’lumotlarimizni sotishi haqida: https://youtu.be/NOXK4EVFmJY Ma’lumotlarimizni asraylik 😇 @FarLives#maxfiylik#apple#duckduckgo#google#facebook

📎OIV bilan yashovchilarning ma’lumotlari qanday himoyalanadi? Ijtimoiy tarmoqlarda ko‘plab odamlar OIV-status oshkor bo‘lib qolishidan qo‘rqib, tahlil topshirishdan tiyilishayotgani aytilmoqda. Amaldagi qonunchilik esa diagnoz, murojaat va davolanish haqidagi barcha ma’lumotlar tibbiy sir ekanini va bemor roziligisiz oshkor etilishi qat’iyan taqiqlanishini belgilaydi. ‼️ OIV haqidagi ma’lumotlar maxsus himoyaga ega: ularni qarindoshlar, ish beruvchi yoki uchinchi shaxslarga berish taqiqlanadi. Sizib chiqish — ma’muriy yoki jinoyaviy javobgarlikka sabab bo‘ladi. Shuningdek, OIV bilan yashovchilar kamsitilmaslik, bepul davolanish va ijtimoiy kafolatlarga ega. ✅Batafsil: factchecknet.uz 🟢 🟢 🟢 🟢 🟢 📎 Как в Узбекистане защищаются данные людей, живущих с ВИЧ? В соцсетях обсуждают страх утечки диагноза, из-за которого многие избегают тестирования. Закон прямо устанавливает: сведения о диагнозе, обращении за медпомощью и лечении являются врачебной тайной и не могут быть раскрыты без согласия человека. ‼️Информация о ВИЧ-статусе относится к особо охраняемым данным. Передавать её родственникам, работодателю или третьим лицам запрещено. Утечка карается административной или уголовной ответственностью. Людям, живущим с ВИЧ, гарантированы социальные права и защита от дискриминации. ✅ Подробности: factchecknet.uz Haqiqat himoyasida! / На страже правды! Facebook | Instagram | Telegram | YouTube #ZoravonlikkaQarshi16Kun#ВИЧ#Конфиденциальность#Права#Закон#OIV#Maxfiylik#Huquqlar