Установить свойства виджета в 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
📖Fake Disease Experiment Exposes AI Misinformation Risks
Researchers led by Almira Osmanovic Thunström at the University of Gothenburg created a fictional medical condition, “bixonimania,” and supported it with fabricated academic papers uploaded to a preprint server. The experiment aimed to test whether large language models would reproduce false information as credible medical knowledge.
AI systems subsequently presented the non-existent disease as real, and the fake studies were later cited in peer-reviewed literature, including a journal published by Springer Nature. The case demonstrates how AI-generated or AI-amplified misinformation can propagate beyond initial sources into scientific and medical contexts.
#AIRegulation#AIethics#Misinformation#AIsafety#DigitalHealth
Осторожно: как ошибки ИИ в медицине могут стоить здоровья (и почему «нейросеть сказала» — не аргумент)
Привет! Мы часто пишем о прорывах ИИ, но сегодня — важное предупреждение. Когда генеративный ИИ ошибается в развлекательном контенте — это досадно. Когда он ошибается в медицине — это опасно для жизни.
Всего за последние месяцы произошла целая серия тревожных инцидентов:
➡️Google удалила AI-сниппеты с анализами крови. Расследование The Guardian показало, что ИИ-ответы по запросу «нормальный диапазон показателей печени» давали неточные числовые значения, не учитывали пол, возраст и могли создать у пациента с серьезным заболеванием ложное ощущение благополучия. Это назвали «опасным и тревожным».
➡️Perplexity ошиблась в онкодиагностике. В эксперименте нейросеть сравнила два КТ-снимка пациента с метастазами. Первый ответ гласил, что опухоль уменьшилась. После уточнения ИИ выдал *противоположный* вердикт — прогрессирование. Только врач смог дать верное заключение.
➡️Проблемы в московских поликлиниках. Пациенты жалуются, что врачи, работая с системой поддержки решений «ТОП-3», иногда некритично соглашаются с её предварительным диагнозом. Описаны случаи ложноположительных диагнозов (например, ишемическая болезнь сердца), которые позже не подтверждались.
Почему так происходит?
Главные причины ошибок
1. «Галлюцинации» и уверенная ложь. ИИ, особенно общего назначения, может генерировать убедительно звучащий, но полностью выдуманный ответ, особенно если в запросе есть неточность.
2. Проблемы с данными для обучения. Качество ИИ зависит от данных. Если выборка неполная, нерепрезентативная или содержит искажения (например, публикуются в основном «положительные» исследования), алгоритм унаследует эти ошибки.
3. Эффект «чёрного ящика». Даже разработчикам не всегда понятно, как сложная нейросеть пришла к конкретному выводу, что затрудняет поиск и исправление системных сбоев.
4. Человеческий фактор. ИИ может повторять и даже усиливать когнитивные искажения, свойственные людям (например, эффект формулировки). А врачи, перегруженные работой, могут чрезмерно доверять алгоритму, отключая своё клиническое мышление.
Что делать? Простые правила безопасности
➡️Для всех: Любой ИИ-совет по здоровью — лишь отправная точка для разговора с врачом, не руководство к самолечению.
➡️Для медиков: ИИ — инструмент поддержки, но не замена экспертизе. Окончательное решение и ответственность всегда остаются за специалистом.
➡️Для разработчиков: Нужна максимальная прозрачность, валидация на реальных клинических сценариях и чёткое указание на ограничения продукта.
Вывод: ИИ — мощный помощник в медицине, способный анализировать огромные массивы данных. Но слепая вера в него так же рискованна, как и его полное игнорирование. Ключ — в разумном сочетании технологий и человеческого опыта, критического мышления и проверок.
А Вы сталкивались с явными ошибками ИИ в вопросах здоровья? Доверяете ли вы таким сервисам? Обсудим в комментариях.
#ИИ#искусственныйинтеллект#медицина#здоровье#безопасность#диагностика#DigitalHealth
https://t.me/semasci
💻 Excessive internet use, especially before bed, significantly harms sleep quality, affecting both mental and physical health.
[Learn more]
@googlefactss#DigitalHealth#SleepQuality#InternetUse#MentalHealth#ScreenTime
ИИ-доктор в кармане: как стартапы вроде Death Clock меняют превентивную медицину (и что с этим не так)
Пока одни ИИ-модели соревнуются в генерации картинок, другие нацелены на самую ценную область — наше здоровье. Яркий пример — американский стартап Death Clock с их сервисом Life Lab.
В чем суть?
Life Lab — это персональный ИИ-консультант по долголетию, встроенный в приложение. Система:
1. Агрегирует данные: подключается к тысячам лабораторий, импортирует медкарты, учитывает образ жизни.
2. Считает возраст и риски: на основе исследований вычисляет биологический возраст и прогнозируемую дату смерти (да, именно это и есть их «визитная карточка» — Death Clock).
3. Дает рекомендации: формирует персонализированный план по питанию, добавкам и привычкам для снижения рисков и продления здоровой жизни.
Их цель — сделать превентивную медицину максимально простой и доступной.
Другие примеры на подходе:
* ChatGPT Health (от OpenAI): Пока только в тестировании у врачей, но это шаг к тому, чтобы ИИ-ассистент стал первым пунктом консультации. Модель должна уметь анализировать симптомы, расшифровывать анализы и диалогом вести к диагнозу.
* K Health: Использует ИИ на основе данных миллионов медкарт для первичной оценки состояния.
* Your.MD: AI-симптомчекер и навигатор по системе здравоохранения.
Что важно помнить?🔍
За кажущейся простотой и технологичностью скрываются серьезные вопросы:
➡️Качество данных и исследований: На чем именно основаны прогнозы и советы? Многие методики расчета биовозраста и рекомендаций по долголетию все еще являются областью активных (и коммерциализированных) споров.
➡️Юридическая и этическая ответственность: Кто виноват, если совет ИИ приведет к проблемам? Пока это серая зона.
➡️Риск гипердиагностики и тревожности: Постоянный мониторинг и «цифры смерти» могут скорее навредить ментальному здоровью, чем помочь.
Контекст и важные ссылки:
➡️Я уже подробно разбирал риски слепого доверия медицинскому ИИ в этом посте: Осторожно: как ошибки ИИ в медицине могут стоить здоровья
➡️А здесь анализировали другой подход — мощную специализированную модель от Google для профессионалов, которая работает оффлайн и точнее: Google выпустила MedGemma 1.5
Вывод:
Такие сервисы, как Death Clock, — это мощный драйвер для осознанности и перехода от «медицины лечения» к «медицине предупреждения». Но они остаются инструментами для информирования, а не для постановки диагноза. Их рекомендации — это гипотезы, которые должен проверять и одобрять ваш лечащий врач. Главное правило: Data-Driven, но Doctor-Approved.
Полезные ссылки по теме (англ.):
➡️Анонс Life Lab от Death Clock
➡️Исследование о возможностях и ограничениях ИИ в предиктивной медицине (Nature)
#ИИ_в_медицине#DigitalHealth#превентивная_медицина#HealthTech#DeathClock#ChatGPT#MedGemma#долголетие
https://t.me/semasci