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 слични објави

Пребарај: #digitalsecurity

当前筛选 #digitalsecurity清除筛选
Venture Village Wall 🦄

@venturevillagewall · Post #3538 · 20.12.2024 г., 09:31

Shush Inc Secures $3M Funding Shush Inc has raised $3 million on December 19, 2024, to enhance digital security through mobile authentication solutions. Their services aim to connect mobile network operators (MNOs) with network authentication needs, helping to unlock network data and prevent fraud. Learn more at Shush Inc. #Funding#DigitalSecurity#MNOs#Authentication#FraudPrevention#MobileSolutions#NetworkData

Mirracoin Новости

@MirraChannel · Post #433 · 23.03.2026 г., 17:40

😎MirraDigital - новый уровень защиты авторских прав и интеллектуальной собственности в блокчейн-реестре MirraCoin Экосистема MirraCoin запускает технологический сервис нового поколения - MirraDigital. Теперь Вашы идеи, изобретения, любые документы, авторские решения, стихи, музыка, статьи, живопись, цифровую, физическую и интеллектуальную собственность Вы можете зарегистрировать в блокчейне и получить доказательство его существования, авторства и неизменности. 🔒 Что даёт MirraDigital? ✅Подтверждение, что документ существовал в конкретный момент времени и Вы всегда это юридически можете обосновать 🔒 Файл невозможно подделать или изменить ♾️ Авторство навсегда закрепляется за Вами ⚙️ Как это работает? 🔹 Файл обрабатывается прямо в вашем браузере 🔹 Создаётся уникальный SHA-256 хеш (цифровой отпечаток) 🔹 Хеш записывается в блокчейн MirraCoin 🔹 Вы получаете сертификат с QR-кодом и TX Hash 💡 Сам файл никуда не передаётся - только его цифровой отпечаток. 🌍 Почему это важно? 🔹 Неизменяемость - запись в блокчейне нельзя удалить или переписать 🔹 Публичность - любой может проверить подлинность без регистрации 🔹 Децентрализация - данные не зависят от сервиса 🔹 Приоритет авторства - фиксируется навсегда ♾Запись останется в блокчейне-реестре MirraCoin навечно ⚡️ Просто и быстро ⏱️ Регистрация занимает меньше минуты 🎁 Первые регистрации доступны бесплатно 💡 Где это применимо? • договоры и сделки • дипломы и сертификаты • интеллектуальная собственность, авторские права • идеи и изобретения • любые цифровые файлы И многое другое… ✨MirraDigital - это шаг к новой цифровой реальности, где доверие заменяется математикой, а доказательства - блокчейном. 👉 Попробуйте MirraDigital уже сейчас. Фиксируйте свои документы! Защищайте свою собственность и идеи! Следите за новостями на @MirraChannel #MirraCoin#MIRRC#MirraDigital#Blockchain#Web3#Crypto#ЦифровыеДокументы#DigitalSecurity#NFT#Инновации#Сделано_в_России @MirraChannel😎