Установить свойства виджета в 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
❓ БИОПСИЯ САРАТОННИ ЎСТИРАДИМИ?
Йўқ! Бундай ҳавф мавжуд эмас ёки эҳтимоли жудаям паст.
Ҳозирги пайтда биопсиянинг бундай асорати ҳеч бир ҳужжатда рўйҳатга олинмаган, демак унинг эҳтимоли статистик аҳамиятга эга эмас даражада.
❗️Биопсия қилмасликни эса ҳавфи жуда юқори. Чунки ўсимтани қандай ҳужайралардан иборат эканини билмас экансиз, уни тўғри даво йўлини ҳам танлаш қийин бўлади.
Баъзи ўсимталар умуман даво талаб қилмайди. Лекин, ўйлаб кўринг, онколог у нимадан иборатлигини билмаса қандай йўл тутади? Албатта ҳар эҳтимолга қарши олиб ташлашни таклиф қилади. Керак бўлмаган жойда операцияга ётасиз.
Иккинчи вариант - ўсимта ҳужайралари бир препаратга сезувчан, бошқасига эса турғун. Лекин биопсия ҳулосасини билмаган ва тўқима айнан қандайлигидан ҳабари йўқ шифокор сизга самарасиз дорини беради. Сиз уни қабул қиласиз ва вақт йўқотасиз. Бу ўтган даврда саратон операция қилиб бўлмайдиган босиқичгача ривожланишга улгуради.
☝️ Бундай вариантлар сероб ва кўпи сизнинг фойдангизга эмас. Шундай экан, қўрқувларга асосланган ҳабарларга ишонмай, шифокор айтганида биопсия қилдиринг.
🩺Doctor Ziyod | #oncology
❗️РЎЗА ТУТИШНИНГ ФОЙДАСИ
Араб мамлакатларида саратон касаллиги Европа ва АҚШга нисбатан деярли 3 баробар кам учрайди. Буни аниқ сабаблари маълум эмас, лекин ҳаёт тарзидаги баъзи фарқлар сабабчи деган фикр бор. Булар:
1. Рамазон ойида очлик сақлаш пайти:
- тез ўсувчи саратон ҳужайралари учун жуда қийин давр бўлади ва уларни ўсиши секинлашади
- аутофагия ишга тушади, яъни хужайралар ахлат моддаларни еб ўзини тозалайди
- янги иммун ҳужайралар пайдо бўлади
- яллиғланиш пасаяди
- антиоксидант ҳимоя кучаяди
2. Бу ҳудудларда кўм миқдорда саратонга қарши таъсири блган зираворлар истеъмол қилинади:
- куркумин (зарчава)
- заъфарон (шафран)
- кардамон
- мускат ёнғоғи
- зира
- қора седана
- долчин (корица)
- кашнич уруғи
3. Чекувчилар сони кам
4. Спиртли ичимликлар тақиқланган
Манбаа: uicc.org
🩺Doctor Ziyod | #oncology#nutrition#cancer
🗣 Уважаемые коллеги, друзья!
Московское онкологическое общество не только делится советами, как провести новогодние каникулы, но и весьма активно демонстрирует на своём примере!💪🏽
💬 Расскажите, как проводите время? Будем делиться в комментариях, возможно каждый для себя найдёт новое увлечение, занятие❄️☃️⛷
#МосковскоеОнкологическоеОбщество
#МОО
#Онкология
#Oncology
📣 Уважаемые коллеги!
Уже завтра состоится научно-практическая школа «Рак предстательной железы - новые вызовы».
⏰Время проведения мероприятия: с 16:00 до 18:10;
📍Место проведения: актовый зал МКНЦ им А.С. Логинова ДЗМ, 10 корпус (ш. Энтузиастов, 86, стр. 6);
📲Онлайн трансляция:https://medx.pro/.
🎥 Напоминаем, что все записи онлайн трансляции конференции Вы сможете найти на каналах Московского онкологического общества видеохостингахRUTUBE и Youtube.
#МосковскоеОнкологичскоеОбщество
#МКНЦ
#Oncology
Уважаемые коллеги!
28 февраля 2023 года состоится научно-практическая школа «Рак предстательной железы - новые вызовы».
Обсудим с Вами важные и интересные вопросы:
🩸 Хирургия рака предстательной железы.
🩸 Гормночувствительный рак предстательной железы.
🩸 Опыт применения антиандрогенов II поколения в терапии рака предстательной железы в рамках Наблюдательного исследования г. Москвы.
🩸 Статус андрогеннового рецептора, важно ли нам в практике?
🩸 Пациент с мГЧРПЖ. Клинический случай применения.
🩸 «Внедрение данных клинических исследований в реальную практику лечения больных мГЧРПЖ»
⏰Время проведения мероприятия: с 16:00 до 18:10;
📍Место проведения: актовый зал МКНЦ им А.С. Логинова ДЗМ, 10 корпус (ш. Энтузиастов, 86, стр. 6);
📲Онлайн трансляция:https://medx.pro/.
#МосковскоеОнкологичскоеОбщество
#МКНЦ
#Oncology
15 декабря 2022 г. состоится научно - практическая школа "ПОГОВОРИМ О НЕЙРОЭНДОКРИННЫХ ОПУХОЛЯХ"
Коллеги, приглашаем Вас принять участие!
Наши эксперты обсудят с Вами:
📌 Нейроэндокринные опухоли. Эпидемиология, классификация. Вопросы маршрутизации пациентов в Москве.
📌 Распространенность НЭО. Данные регистра МКНЦ им. А.С. Логинова.
📌 Динамическое наблюдение при нейроэндокринных неоплазиях поджелудочной железы.
📌 Основные принципы лечения пациентов.
Мероприятие будет проходить в онлайн-формате
Регистрация:https://medx.pro/
Время проведения: 15:00 – 16:40
Ссылка на программу мероприятия: https: https://bit.ly/3YaggAL
#МосковскоеОнкологическоеОбщество
#МОО
#НейроэндокринныеОпухоли
#Oncology
Уважаемые коллеги!
С четверга в МКНЦ им. А.С. Логинова проходит 49-я научная сессии ЦНИИГ "Гастроэнтерология: настоящее и будущее" .
Завтра нас ждет очень интересный день, полностью посвященный вопросам онкологии!
❗️Мероприятие в гибридном формате, но стоит ли объяснять разницу между обсуждением с ведущими экспертами лицом к лицу в новом корпусе МКНЦ и наблюдением откуда-то издалека, сквозь холодное стекло монитора...
🛑Официальный сайт - гастросессия.рф
🛑Адрес: МКНЦ им. А.С. Логинова, ул. Новогиреевская, д.1 / Шоссе Энтузиастов, д. 86
🛑Онлайн трансляция на сайте MedX.pro.
#МосковскоеОнкологичскоеОбщество
#МКНЦ
#Oncology
#MedXpro
Программа мероприятия ⤵️⤵️⤵️
$140M Funding for Ottimo Pharma
Ottimo Pharma announces a funding round of $140 million set for December 19, 2024. The company focuses on developing bi-functional medicines aimed at improving the lives of individuals living with cancer.
Learn more
#Funding#OttimoPharma#Cancer#BiFunctionalMedicines#Healthcare#Pharmaceuticals#LifeSciences#Investments#MedicalResearch#Oncology#HealthTech#Biotechnology
Во всем мире 4 февраля - день борьбы с онкозаболеваниями. В России с этим диагнозом живут более четырех миллионов человек.
Главный онколог России, академик РАН, Андрей Дмитриевич Каприн и главный онколог Москвы, академик РАН, Игорь Евгеньевич Хатьков рассказали о современных возможностях диагностики и лечения онкологических заболеваний.
Подробнее в сюжете программы «Вести» на телеканале Россия 1.
- - - - -
#АндрейКаприн#АОР#mknc#МКНЦ#ИгорьХатьков#онкологияМКНЦ#oncology#MOO
$60M Funding for Psioxus
Psioxus Therapeutics has successfully secured $60M in funding as part of its latest round, scheduled for December 17, 2024. This funding aims to advance its innovative tumor gene therapy platform focused on improving cancer treatment outcomes.
#Funding#Cancer#Biotech#Oncology#GeneTherapy#Therapeutics#ClinicalStage#Investment#Healthcare#Psioxus#AkamisBio#Tumor#LifeScience#MedicalResearch#Therapy#Innovative#Impact#Technology#Platform