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

Резултати

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

Пребарај: #eventyozgimaktab

当前筛选 #eventyozgimaktab清除筛选
TDYU YURIDIK KLINIKASI

@tdyu_yuridik_klinikasi · Post #3535 · 12.08.2025 г., 13:55

2️⃣2️⃣2️⃣⚖️ • “Kiber zo‘ravonlik qurbonlariga bepul yuridik yordam ko‘rsatish” mavzusida yozgi maktab tashkil etildi BMT Taraqqiyot dasturi tomonidan Finlandiya hukumati hamkorlikda tashkil etilgan loyihada yurisprudensiya yo‘nalishidagi yetti oliy ta’lim muassasasi — Toshkent davlat yuridik universiteti, Jahon iqtisodiyoti va diplomatiya universiteti, Huquqni muhofaza qilish akademiyasi, Berdaq nomidagi Qoraqalpoq davlat universiteti, Termiz davlat universiteti, Buxoro davlat universiteti va Andijon davlat universiteti talabalari, TDYU professor-o‘qituvchilari va xodimlari ishtirok etdi. Yuridik klinikalar talabalari uchun mo‘ljallangan mashg‘ulotlarni Latviyaning “Marta” tashkiloti ekspertlari olib bordi. Yozgi maktab davomida talabalar nazariy bilimlarini amaliyot bilan uyg‘unlashtirish, kiberzo‘ravonlik bo‘yicha qonunchilikdagi yangiliklarni o‘rganish imkoniga ega bo‘ldi. Shuningdek, ishtirokchilarga jabrlanuvchilarga birlamchi yuridik yordam ko‘rsatish bo‘yicha foydali ma’lumotlar berildi. Bundan tashqari, dastur doirasida turli intellektual o‘yinlar, “Kiber jinoyatchilikka qarshi kurashish: huquqiy yordam va ongni oshirish” mavzusida videoroliklar tanlovi o‘tkazilib, g‘oliblarga esdalik sovg‘alari topshirildi. 2️⃣2️⃣2️⃣2️⃣⚖️ • Организован летний лагерь на тему «Бесплатная юридическая помощь жертвам кибернасилия» В рамках проекта, реализуемого Программой развития ООН совместно с правительством Финляндии, приняли участие семь вузов, специализирующихся в области юриспруденции: Ташкентский государственный юридический университет, Университет мировой экономики и дипломатии, Академия правоохранительных органов, Каракалпакский государственный университет имени Бердаха, Терминский государственный университет, Бухарский государственный университет и Андижанский государственный университет, а также профессорско-преподавательский состав и сотрудники ТГЮУ. Занятия для студентов юридических клиник провели эксперты латвийской организации «Marta». В ходе летнего лагеря студенты получили возможность объединить теоретические знания с практическими навыками и изучить новшества в законодательстве по вопросам кибернасилия. Кроме того, участникам была предоставлена полезная информация о первичной юридической помощи жертвам. В рамках программы также были организованы интеллектуальные игры и конкурс видеороликов на тему «Борьба с киберпреступностью: юридическая помощь и повышение осведомленности», победители которого получили памятные призы. ⚫️🔴🔵🟣⚪️@tsulofficial#tadbir#eventyozgimaktab#летняяшкола#summerschool