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

Пребарај: #aybekthinktank

当前筛选 #aybekthinktank清除筛选
English Law Report

@enlawreport · Post #1887 · 27.01.2026 г., 12:27

Я собрал в одну страницу то, что обычно объясняют часами: как реально устроен гражданский процесс в England & Wales по CPR. Не «где-то там суд», а понятная дорожная карта: от pre-action писем до disclosure, interim applications, trial и момента, когда ты наконец пытаешься… получить деньги через enforcement. Самый частый провал в спорах не в праве, а в процедуре: пропустили срок, неверно served, не дожали через interim, не подготовили документы, не подумали про исполнение решения. И всё, сильная позиция превращается в больной кейс. Сохраняйте себе как мини-шпаргалку. Если надо, сделаю вторую страницу: ключевые сроки (14/28 дней, service rules, relief from sanctions) и где чаще всего «умирают» иски. P.S. Процедура в Англии это не бюрократия. Это рычаг. #EnglishLaw#Litigation#CivilProcedure#CPR#LegalStrategy#DisputeResolution#LawNotes#AybekThinkTank

English Law Report

@enlawreport · Post #1747 · 19.10.2025 г., 13:01

🔥Юристы и ChatGPT: не “игрушка”, а инструмент мышления За последние месяцы ко мне всё чаще приходят коллеги — юристы, аналитики, консультанты: «Айбек, я вижу, ты работаешь с ChatGPT. Но я вообще не понимаю — зачем это? Как это помогает в юриспруденции? И реально ли на этом зарабатывать?» Отвечаю. ChatGPT — это не про “сгенерировать текст”. Это про структурировать мышление. Когда у юриста в голове каша из идей: позиция по делу, структура иска, стратегия защиты — ChatGPT превращает этот хаос в систему. Он помогает выстроить аргументы, увидеть слабые места, отделить логику от эмоций. 🎯 ChatGPT полезен именно там, где юрист обычно тратит часы: - разложить по полочкам мысли по делу, - превратить черновик в чёткий документ, - сформулировать стратегию, и упростить сложное, не теряя сути. Я показываю юристам, как использовать ChatGPT не как помощника, а как соавтора мышления. Как сделать так, чтобы нейросеть усиливала профессиональную интуицию, а не заменяла её. Сейчас я готовлю серию постов и практических промтов — конкретные приёмы, как ChatGPT может: - ускорить анализ кейсов и судебных позиций, - помочь готовить отчёты, статьи, аргументы, и как на этом реально можно зарабатывать. Если вам интересно понять, как ChatGPT можно встроить в юридическую работу и монетизировать знания, — подпишитесь. Будет системно, с примерами, и по-взрослому. 💬 Напишите в комментариях, какие темы вам интересны: структурирование мыслей, подготовка позиций, анализ кейсов, юридический контент или что-то другое. #ChatGPTдляюристов#LegalAI#ЮридическоеМышление#LegalStrategy#LawAndAI#LegalThinking#ЮристБудущего#LegalDesign#AybekThinkTank#AIвЮриспруденции#LegalWriting#НейросетиДляЮристов