Установить свойства виджета в 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
✨Наша цифровая лаборатория получила новые сертификаты!
С радостью сообщаем, что в мае наша лаборатория прошла проверку и получила обновленные сертификаты качества (система сертификации Промтехстандарт).
Что это значит для вас:
• Уверенность в качестве исследований: вы можете быть уверены, что все исследования в нашей лаборатории проводятся в соответствии с международными стандартами качества
• Максимальная точность диагностики: мы используем передовые технологии и интегрированные IT-решения, чтобы обеспечить вам точные и надежные результаты исследований
• Профессиональный подход: наши специалисты – высококвалифицированные врачи с большим опытом работы в области патоморфологии
• Индивидуальный подход: мы готовы предоставить вам всю необходимую информацию об исследованиях и гибко подходить к решению ваших задач
С уважением,
UNIM – ваш надежный партнер в мире цифровой патоморфологии
#юним#digitalpathology#certification
✨ЮНИМ: Digital Pathology - "Продукт года" Digital Leaders 2024!✨
17 июня наш Digital Pathology одержал победу в престижной номинации "Продукт года" премии Digital Leaders!
Отбор проходил среди множества цифровых продуктов от ведущих компаний. Эксперты жюри высоко оценили инновационные решения и потенциал Digital Pathology в области медицины будущего.
Победа в Digital Leaders - это не просто признание, мы продолжим совершенствовать Digital Pathology, делая его еще более доступным и эффективным инструментом для врачей-патологов.
Наша цель - сделать диагностику более точной и быстрой.
Благодарим всех за поддержку!
#юним#digitalpathology#digitalleaders
Сегодня расскажем о важной услуге нашей лаборатории — фотосканирование микропрепаратов.
❓Что такое фотосканирование?
Фотосканирование, или сканирование микропрепарата, является ключевой частью цифровой патоморфологии. Этот метод позволяет получить цифровое изображение образца ткани для диагностики, второго мнения, удобного хранения и обмена данными.
Цифровое изображение микропрепарата имеет ряд преимуществ перед традиционной микроскопией:
✅Удобство: Анализ можно проводить без микроскопа, а доступ к изображениям возможен с любого места.
✅Качество: Высокое разрешение и сохранение качества при передаче данных.
✅Хранение: Цифровые слайды легче архивировать и искать.
Как это помогает врачам?
Фотосканирование особенно полезно, если нет возможности получить консультацию узкоспециализированного патоморфолога на месте. Цифровое изображение можно передать для второго мнения, включая зарубежных экспертов. Это повышает качество диагностики и снижает риски ошибок.
Цифровые изображения также используются для подготовки учебных материалов, видеоконференций и консилиумов.
В ЮНИМ мы активно используем эту технологию для обеспечения лучшего сервиса.
____________
Используете ли вы цифровую патоморфологию в своей практике? Делитесь опытом в комментариях!
#UNIM#цифроваяпатология#иммуногистохимия#онкология#медицина#юним#digitalpathology
Как правильно сформулировать клинический вопрос к патоморфологу?
Правильно сформулированный клинический вопрос – это ключ к получению точного и полезного патоморфологического заключения. От ясности и полноты вопроса зависит, насколько эффективно патоморфолог сможет помочь в диагностике и лечении пациента.
Как правильно сформулировать вопрос?
➡️Укажите локализацию процесса: Точно укажите орган или ткань, из которой взят материал для исследования.
➡️Опишите клиническую картину: Кратко опишите основные жалобы пациента, результаты физикального осмотра и данные дополнительных исследований (анализы, инструментальные методы).
➡️Выдвиньте предположительные диагнозы: Перечислите несколько наиболее вероятных диагнозов на основании клинических данных.
➡️Сформулируйте конкретный вопрос: Сформулируйте вопрос таким образом, чтобы он требовал конкретного ответа (например, "Является ли это новообразование доброкачественным или злокачественным?").
➡️Укажите дополнительные пожелания: Если у вас есть какие-либо дополнительные пожелания (например, необходимость проведения срочного исследования), укажите их.
Пример правильно сформулированного вопроса:
У пациента 55 лет обнаружено образование в правой доле печени. При ультразвуковом исследовании образование неоднородное, с четкими контурами. Биопсия печени выполнена пункционной иглой. Является ли это образование метастазом колоректального рака (у пациента в анамнезе колоректальный рак)? Необходимо ли провести иммуногистохимическое исследование на маркеры гепатоцеллюлярной карциномы и метастазов?
Цифровая платформа Digital Pathology может обеспечить в режиме реального времени общение между патоморфологом и клиницистом для повышение точности и скорости постановки диагноза.
Помните: сотрудничество клинициста и патоморфолога – это залог успешного лечения пациента.
#UNIM#цифроваяпатология#иммуногистохимия#онкология#медицина#юним#digitalpathology
Друзья,
Рады сообщить, что лаборатория UNIM успешно прошла независимую экспертизу качества иммуногистохимических исследований, проведенную Центром контроля качества РМАНПО.
Что это значит для вас?
🔘Высочайший уровень качества: Мы подтвердили, что наша лаборатория полностью соответствует мировым стандартам "идеального окрашивания". Это значит, что вы можете быть уверены в точности и надежности результатов наших исследований.
🔘Гарантия правильного диагноза: Даже при обнаружении незначительных отклонений от референсного показателя, наши специалисты проводят дополнительную верификацию, чтобы исключить нежелательных погрешностей в постановке диагноза.
🔘Ваш надежный партнер: Мы стремимся предоставлять вам самую точную и достоверную информацию, необходимую для принятия взвешенных клинических решений.
С уважением,
UNIM – ваш надежный партнер в мире цифровой патоморфологии.
#UNIM#цифроваяпатология#иммуногистохимия#качество#надежность#онкология#медицина#юним#digitalpathology#certification