From 3ba20568c4850a99fc18e57cc0e7234b31280fac Mon Sep 17 00:00:00 2001 From: SimonovaMI Date: Thu, 15 May 2025 14:00:13 +0300 Subject: [PATCH] Check bugs and restyling --- design_viewer.ui | 4562 ++++++++++++++++++----------------- project/view.py | 88 +- logo.ico => source/logo.ico | Bin source/pol_1.jpg | Bin 0 -> 14999 bytes source/pol_2.jpg | Bin 0 -> 14928 bytes source/pol_3.jpg | Bin 0 -> 15092 bytes 6 files changed, 2475 insertions(+), 2175 deletions(-) rename logo.ico => source/logo.ico (100%) create mode 100644 source/pol_1.jpg create mode 100644 source/pol_2.jpg create mode 100644 source/pol_3.jpg diff --git a/design_viewer.ui b/design_viewer.ui index f655a5d..801f214 100644 --- a/design_viewer.ui +++ b/design_viewer.ui @@ -6,7 +6,7 @@ 0 0 - 1920 + 1870 1000 @@ -20,9 +20,9 @@ - 200 + 173 30 - 454 + 481 41 @@ -46,743 +46,6 @@ - - - true - - - - 1410 - 80 - 501 - 251 - - - - QFrame::WinPanel - - - QFrame::Raised - - - 3 - - - - - 30 - 10 - 255 - 16 - - - - - 75 - true - - - - Настройки детекции событий - - - Qt::AlignCenter - - - - - - 13 - 68 - 261 - 22 - - - - QFrame::Box - - - Минимальная чувствительность, мВ - - - Qt::AlignCenter - - - - - - 14 - 127 - 261 - 22 - - - - QFrame::Box - - - Длительность защиты от Т волны, мс - - - Qt::AlignCenter - - - - - - 14 - 156 - 261 - 22 - - - - QFrame::Box - - - Порог чувствительности Т волны - - - Qt::AlignCenter - - - - - - 273 - 68 - 61 - 22 - - - - true - - - 4 - - - - 4.0 - - - - - 3.5 - - - - - 3.0 - - - - - 2.5 - - - - - 2.0 - - - - - 1.5 - - - - - 1.25 - - - - - 1.0 - - - - - 0.75 - - - - - 0.5 - - - - - - - 14 - 97 - 261 - 22 - - - - QFrame::Box - - - Максимальная чувствительность, мВ - - - Qt::AlignCenter - - - - - - 273 - 97 - 61 - 22 - - - - true - - - 3 - - - - 15.0 - - - - - 12.0 - - - - - 10.0 - - - - - 8.0 - - - - - 6.0 - - - - - 4.0 - - - - - 3.5 - - - - - 3.0 - - - - - 2.5 - - - - - - - 274 - 127 - 61 - 22 - - - - true - - - 2 - - - - 300 - - - - - 325 - - - - - 350 - - - - - 375 - - - - - 400 - - - - - - - 274 - 156 - 61 - 22 - - - - true - - - 0 - - - - 0.75 - - - - - 0.55 - - - - - 0.35 - - - - - 0.25 - - - - - - - 13 - 39 - 261 - 22 - - - - - 8 - - - - QFrame::Box - - - Длительность поиска максимума, мс - - - Qt::AlignCenter - - - - - - 273 - 39 - 61 - 22 - - - - - 8 - - - - true - - - 3 - - - - 120 - - - - - 125 - - - - - 130 - - - - - 135 - - - - - 140 - - - - - 145 - - - - - 150 - - - - - - - 274 - 185 - 61 - 22 - - - - - 0 - 2 - - - - true - - - 3 - - - - 500 - - - - - 750 - - - - - 1000 - - - - - 1250 - - - - - 1500 - - - - - 1750 - - - - - 2000 - - - - - - - 14 - 185 - 261 - 22 - - - - QFrame::Box - - - Максимальный размер RR интервала, мс - - - Qt::AlignCenter - - - - - - 274 - 218 - 61 - 22 - - - - QFrame::Box - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 14 - 218 - 261 - 22 - - - - QFrame::Box - - - Минимально регистрируемая ЧСС, Гц - - - Qt::AlignCenter - - - - - - 340 - 30 - 141 - 22 - - - - Размер окна, сек - - - Qt::AlignCenter - - - - - - 380 - 50 - 61 - 22 - - - - true - - - 2 - - - - 30 - - - - - 20 - - - - - 10 - - - - - 8 - - - - - 6 - - - - - 4 - - - - - 2 - - - - - 1 - - - - - - - 370 - 100 - 91 - 20 - - - - с фильтром - - - 1 - - - - без фильтра - - - - - с фильтром - - - - - - - 380 - 80 - 81 - 20 - - - - Вывод сигнала - - - - - - 350 - 120 - 141 - 20 - - - - Активный канал передачи - - - - - - 370 - 140 - 91 - 20 - - - - 2 - - - 2 - - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - - - 350 - 160 - 141 - 20 - - - - Постоянная составляющая - - - - - - 370 - 180 - 91 - 20 - - - - без - - - 1 - - - - с - - - - - без - - - - - - - - 20 - 80 - 1371 - 111 - - - - - - - 20 - 190 - 1371 - 601 - - - @@ -810,13 +73,13 @@ 680 30 - 641 + 851 41 - + @@ -862,9 +125,19 @@ + + + + true + + + Перезагрузка + + + - + 780 @@ -886,1308 +159,7 @@ Qt::AlignCenter - - - true - - - - 1410 - 340 - 501 - 611 - - - - QFrame::WinPanel - - - QFrame::Raised - - - 3 - - - - - 170 - 30 - 201 - 22 - - - - Верхние пороги корзин, мс - - - Qt::AlignCenter - - - - - - 20 - 70 - 71 - 21 - - - - 250 - - - 350 - - - 5 - - - 250 - - - - - - 230 - 70 - 81 - 21 - - - - 300 - - - 400 - - - 5 - - - 400 - - - - - - 390 - 70 - 81 - 21 - - - - 350 - - - 450 - - - 5 - - - 450 - - - - - - 20 - 190 - 71 - 16 - - - - 10 - - - 0 - - - %p - - - - - - 0 - 100 - 171 - 22 - - - - Порог корзины фибриляций - - - Qt::AlignCenter - - - - - - 20 - 120 - 81 - 21 - - - - 10 - - - 60 - - - 10 - - - - - - 220 - 150 - 91 - 16 - - - - - 75 - true - - - - Корзины - - - Qt::AlignCenter - - - - - - 10 - 170 - 81 - 20 - - - - Фибрилляция - - - Qt::AlignCenter - - - - - - 140 - 170 - 71 - 20 - - - - ЖТ2 - - - Qt::AlignCenter - - - - - - 270 - 170 - 61 - 20 - - - - ЖТ1 - - - Qt::AlignCenter - - - - - - 390 - 170 - 71 - 21 - - - - Норма - - - Qt::AlignCenter - - - - - - 160 - 190 - 71 - 16 - - - - 10 - - - 0 - - - %p - - - - - - 280 - 190 - 71 - 16 - - - - 10 - - - 0 - - - %p - - - - - - 410 - 190 - 71 - 16 - - - - 5 - - - 0 - - - %p - - - - - - 140 - 10 - 255 - 16 - - - - - 75 - true - - - - Настройки корзин - - - Qt::AlignCenter - - - - - - 10 - 50 - 91 - 22 - - - - Фибриляция - - - Qt::AlignCenter - - - - - - 210 - 50 - 91 - 22 - - - - Тахикардия 2 - - - Qt::AlignCenter - - - - - - 370 - 50 - 91 - 22 - - - - Тахикардия 1 - - - Qt::AlignCenter - - - - - - 210 - 100 - 131 - 22 - - - - Порог корзины ЖТ2 - - - Qt::AlignCenter - - - - - - 370 - 100 - 121 - 22 - - - - Порог корзины ЖТ1 - - - Qt::AlignCenter - - - - - - 230 - 120 - 81 - 21 - - - - 10 - - - 60 - - - 10 - - - - - - 390 - 120 - 81 - 21 - - - - 10 - - - 60 - - - 10 - - - - - - 20 - 260 - 191 - 22 - - - - Кол-во ступеней ВВ терапии - - - Qt::AlignCenter - - - - - - 240 - 260 - 41 - 21 - - - - 1 - - - 8 - - - 8 - - - - - - 19 - 288 - 191 - 22 - - - - Текущая ступень ВВ терапии - - - Qt::AlignCenter - - - - - - 240 - 288 - 61 - 22 - - - - QFrame::Box - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 20 - 316 - 191 - 22 - - - - Минимальная энергия, Дж - - - Qt::AlignCenter - - - - - - 240 - 317 - 81 - 21 - - - - 2 - - - 19 - - - 5 - - - 10 - - - - - - 20 - 344 - 191 - 22 - - - - Максимальная энергия, Дж - - - Qt::AlignCenter - - - - - - 240 - 345 - 81 - 21 - - - - 20 - - - 40 - - - 40 - - - - - - 20 - 374 - 191 - 22 - - - - Текущая энергия, Дж - - - Qt::AlignCenter - - - - - - 241 - 373 - 61 - 22 - - - - QFrame::Box - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 20 - 400 - 191 - 22 - - - - Полярность - - - Qt::AlignCenter - - - - - - 170 - 400 - 151 - 22 - - - - - 0 - 2 - - - - true - - - Положительная - - - 0 - - - - Положительная - - - - - Отрицательная - - - - - Биполярная - - - - - - - 240 - 430 - 81 - 21 - - - - 100 - - - 1000 - - - 200 - - - - - - 20 - 430 - 201 - 22 - - - - Время слепоты после разряда, мс - - - Qt::AlignCenter - - - - - - 20 - 460 - 201 - 22 - - - - Таймаут отключения , с - - - Qt::AlignCenter - - - - - - 240 - 460 - 81 - 21 - - - - 10 - - - 3600 - - - 10 - - - 30 - - - - - - 20 - 490 - 201 - 22 - - - - Размер буффера редетекции - - - Qt::AlignCenter - - - - - - 240 - 490 - 81 - 21 - - - - 4 - - - 10 - - - 10 - - - - - - 20 - 520 - 201 - 22 - - - - Порог буффера редетекции - - - Qt::AlignCenter - - - - - - 240 - 520 - 81 - 21 - - - - 2 - - - 8 - - - 8 - - - - - - 220 - 210 - 91 - 16 - - - - - 75 - true - - - - Терапия - - - Qt::AlignCenter - - - - - - 320 - 260 - 171 - 341 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 0 - 0 - 161 - 22 - - - - Текущий режим терапии - - - Qt::AlignCenter - - - - - - 10 - 20 - 151 - 31 - - - - - - - - - - 10 - 50 - 121 - 22 - - - - Текущий подрежим - - - Qt::AlignCenter - - - - - - 10 - 70 - 151 - 31 - - - - - - - - - - 0 - 100 - 161 - 22 - - - - Мгновенный период - - - Qt::AlignCenter - - - - - - 50 - 120 - 51 - 16 - - - - QFrame::Box - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 0 - 130 - 161 - 22 - - - - Усреднёный период - - - Qt::AlignCenter - - - - - - 50 - 150 - 61 - 16 - - - - QFrame::Box - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 0 - 160 - 161 - 22 - - - - Счётчик Vs - - - Qt::AlignCenter - - - - - - 30 - 180 - 111 - 16 - - - - QFrame::Box - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 0 - 190 - 161 - 22 - - - - Счётчик Vp - - - Qt::AlignCenter - - - - - - 30 - 210 - 111 - 16 - - - - QFrame::Box - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 10 - 440 - 161 - 22 - - - - Счётчик Vn - - - Qt::AlignCenter - - - - - - 10 - 470 - 111 - 22 - - - - QFrame::Box - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 10 - 220 - 161 - 22 - - - - U на батарее, В - - - Qt::AlignCenter - - - - - - 30 - 240 - 111 - 16 - - - - QFrame::Box - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 10 - 280 - 161 - 22 - - - - U на конденсаторе, В - - - Qt::AlignCenter - - - - - - 30 - 300 - 111 - 16 - - - - QFrame::Box - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 10 - 250 - 161 - 22 - - - - U на батарее, % - - - Qt::AlignCenter - - - - - - 30 - 270 - 111 - 16 - - - - QFrame::Box - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - 30 - 230 - 231 - 21 - - - - - 75 - true - true - - - - Текущий режим работы стимулятора - - - Qt::AlignCenter - - - - - - 270 - 230 - 221 - 22 - - - - - 8 - - - - true - - - без стимуляции - - - 0 - - - - без стимуляции - - - - - нормальный - - - - - с принудительной стимуляцией - - - - - - - 20 - 550 - 201 - 22 - - - - Коэффициент усиления - - - Qt::AlignCenter - - - - - - 240 - 550 - 81 - 21 - - - - 0 - - - 255 - - - 0 - - - - - - - 20 - 790 - 1371 - 161 - - - - + 20 @@ -2247,41 +219,12 @@ - - - true - - - - 1340 - 40 - 151 - 23 - - - - Перезагрузка - - - - - - 20 - 950 - 1371 - 16 - - - - Qt::Horizontal - - 1020 0 - 361 + 391 21 @@ -2303,7 +246,7 @@ 500 0 - 75 + 71 23 @@ -2316,7 +259,7 @@ 580 0 - 75 + 71 23 @@ -2324,89 +267,2400 @@ Стоп - + - 1500 - 40 - 111 - 22 + 0 + 90 + 1861 + 991 - - Запись на SD-карту - - - Qt::AlignCenter - - - - - - 1620 - 40 - 51 - 20 - - - - нет - - 0 - - - - нет - - - - - да - - - - - - - 1780 - 40 - 91 - 20 - - - - 433 - - - 0 - - - - 433 - - - - - Bluetooth - - - - - - - 1680 - 40 - 101 - 22 - - - - Режим передачи - - - Qt::AlignCenter + 1 + + + Визуализация работы + + + + + 1540 + 60 + 321 + 801 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 140 + 670 + 111 + 16 + + + + QFrame::Box + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 10 + 670 + 121 + 22 + + + + U на конденсаторе, В + + + Qt::AlignCenter + + + + + + -10 + 610 + 131 + 21 + + + + U на батарее, В + + + Qt::AlignCenter + + + + + + 10 + 260 + 121 + 20 + + + + Усреднёный период + + + Qt::AlignCenter + + + + + + 0 + 130 + 171 + 22 + + + + Текущий режим терапии + + + Qt::AlignCenter + + + + + + 10 + 230 + 121 + 21 + + + + Мгновенный период + + + Qt::AlignCenter + + + + + + 0 + 160 + 141 + 22 + + + + Текущий подрежим + + + Qt::AlignCenter + + + + + + 0 + 480 + 101 + 20 + + + + Счётчик Vs + + + Qt::AlignCenter + + + + + + 160 + 130 + 151 + 21 + + + + + + + + + + 140 + 640 + 111 + 16 + + + + QFrame::Box + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 0 + 640 + 111 + 22 + + + + U на батарее, % + + + Qt::AlignCenter + + + + + + 10 + 510 + 81 + 21 + + + + Счётчик Vp + + + Qt::AlignCenter + + + + + + 140 + 610 + 111 + 16 + + + + QFrame::Box + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 100 + 480 + 111 + 16 + + + + QFrame::Box + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 160 + 160 + 151 + 21 + + + + + + + + + + 130 + 260 + 61 + 16 + + + + QFrame::Box + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 100 + 510 + 111 + 16 + + + + QFrame::Box + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 130 + 230 + 51 + 16 + + + + QFrame::Box + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 180 + 100 + 61 + 22 + + + + QFrame::Box + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 10 + 100 + 171 + 22 + + + + Текущая ступень ВВ терапии + + + Qt::AlignCenter + + + + + + 180 + 70 + 61 + 22 + + + + QFrame::Box + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 10 + 70 + 131 + 22 + + + + Текущая энергия, Дж + + + Qt::AlignCenter + + + + + + 20 + 40 + 221 + 22 + + + + + 8 + + + + true + + + без стимуляции + + + 0 + + + + без стимуляции + + + + + нормальный + + + + + с принудительной стимуляцией + + + + + + + 10 + 10 + 231 + 21 + + + + + 75 + true + true + + + + Текущий режим работы стимулятора + + + Qt::AlignCenter + + + + + + 10 + 300 + 231 + 141 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 130 + 100 + 71 + 16 + + + + 5 + + + 0 + + + %p + + + + + + 130 + 50 + 71 + 16 + + + + 10 + + + 0 + + + %p + + + + + + -10 + 0 + 91 + 16 + + + + + 75 + true + true + + + + Корзины + + + Qt::AlignCenter + + + + + + 110 + 80 + 71 + 21 + + + + Норма + + + Qt::AlignCenter + + + + + + 10 + 50 + 71 + 16 + + + + 10 + + + 0 + + + %p + + + + + + 10 + 100 + 71 + 16 + + + + 10 + + + 0 + + + %p + + + + + + 0 + 30 + 91 + 20 + + + + Фибрилляция + + + Qt::AlignCenter + + + + + + 100 + 30 + 81 + 20 + + + + ЖТ2 + + + Qt::AlignCenter + + + + + + -20 + 80 + 81 + 20 + + + + ЖТ1 + + + Qt::AlignCenter + + + + + + + 100 + 540 + 111 + 16 + + + + QFrame::Box + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 10 + 540 + 81 + 21 + + + + Счётчик Vn + + + Qt::AlignCenter + + + + + + 10 + 200 + 81 + 21 + + + + + 75 + true + true + + + + Период СС + + + Qt::AlignCenter + + + + + + 0 + 450 + 151 + 16 + + + + + 75 + true + true + + + + Счётчики событий + + + Qt::AlignCenter + + + + + + 0 + 580 + 291 + 20 + + + + + 75 + true + true + + + + Напряжение аккумулятора и конденсатора + + + Qt::AlignCenter + + + + + + + 10 + 10 + 1521 + 111 + + + + + + + 10 + 120 + 1521 + 591 + + + + + + + 10 + 710 + 1521 + 151 + + + + + + + 10 + 860 + 1521 + 16 + + + + Qt::Horizontal + + + + + + 1550 + 40 + 111 + 22 + + + + Запись на SD-карту + + + Qt::AlignCenter + + + + + + 1660 + 40 + 51 + 20 + + + + нет + + + 0 + + + + нет + + + + + да + + + + + + + 1660 + 10 + 61 + 22 + + + + true + + + 2 + + + + 30 + + + + + 20 + + + + + 10 + + + + + 8 + + + + + 6 + + + + + 4 + + + + + 2 + + + + + 1 + + + + + + + 1530 + 10 + 141 + 22 + + + + Размер окна, сек + + + Qt::AlignCenter + + + + + + Параметры работы + + + + true + + + + 0 + 0 + 381 + 871 + + + + QFrame::WinPanel + + + QFrame::Raised + + + 3 + + + + + 10 + 160 + 191 + 20 + + + + + 75 + true + true + + + + Настройки детекции событий + + + Qt::AlignCenter + + + + + + 9 + 220 + 211 + 22 + + + + QFrame::NoFrame + + + Минимальная чувствительность, мВ + + + Qt::AlignCenter + + + + + + 10 + 279 + 211 + 22 + + + + QFrame::NoFrame + + + Длительность защиты от Т волны, мс + + + Qt::AlignCenter + + + + + + 10 + 308 + 191 + 22 + + + + QFrame::NoFrame + + + Порог чувствительности Т волны + + + Qt::AlignCenter + + + + + + 239 + 220 + 61 + 22 + + + + true + + + 4 + + + + 4.0 + + + + + 3.5 + + + + + 3.0 + + + + + 2.5 + + + + + 2.0 + + + + + 1.5 + + + + + 1.25 + + + + + 1.0 + + + + + 0.75 + + + + + 0.5 + + + + + + + 10 + 249 + 211 + 22 + + + + QFrame::NoFrame + + + Максимальная чувствительность, мВ + + + Qt::AlignCenter + + + + + + 239 + 249 + 61 + 22 + + + + true + + + 3 + + + + 15.0 + + + + + 12.0 + + + + + 10.0 + + + + + 8.0 + + + + + 6.0 + + + + + 4.0 + + + + + 3.5 + + + + + 3.0 + + + + + 2.5 + + + + + + + 240 + 279 + 61 + 22 + + + + true + + + 2 + + + + 300 + + + + + 325 + + + + + 350 + + + + + 375 + + + + + 400 + + + + + + + 240 + 308 + 61 + 22 + + + + true + + + 0 + + + + 0.75 + + + + + 0.55 + + + + + 0.35 + + + + + 0.25 + + + + + + + 9 + 191 + 211 + 22 + + + + + 8 + true + + + + QFrame::NoFrame + + + Длительность поиска максимума, мс + + + Qt::AlignCenter + + + Qt::LinksAccessibleByMouse + + + + + + 239 + 191 + 61 + 22 + + + + + 8 + + + + true + + + 3 + + + + 120 + + + + + 125 + + + + + 130 + + + + + 135 + + + + + 140 + + + + + 145 + + + + + 150 + + + + + + + 240 + 337 + 61 + 22 + + + + + 0 + 2 + + + + true + + + 3 + + + + 500 + + + + + 750 + + + + + 1000 + + + + + 1250 + + + + + 1500 + + + + + 1750 + + + + + 2000 + + + + + + + 10 + 337 + 221 + 22 + + + + QFrame::NoFrame + + + Максимальный размер RR интервала, мс + + + Qt::AlignCenter + + + + + + 240 + 370 + 61 + 22 + + + + QFrame::Box + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 10 + 370 + 211 + 22 + + + + QFrame::NoFrame + + + Минимально регистрируемая ЧСС, Гц + + + Qt::AlignCenter + + + + + + 130 + 50 + 91 + 20 + + + + с фильтром + + + 1 + + + + без фильтра + + + + + с фильтром + + + + + + + 10 + 50 + 101 + 20 + + + + Вывод сигнала + + + Qt::AlignCenter + + + + + + 20 + 80 + 141 + 20 + + + + Активный канал передачи + + + + + + 170 + 80 + 91 + 20 + + + + 2 + + + 2 + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + + + 20 + 110 + 141 + 20 + + + + Постоянная составляющая + + + + + + 170 + 110 + 91 + 20 + + + + без + + + 1 + + + + с + + + + + без + + + + + + + 10 + 20 + 111 + 22 + + + + + 8 + + + + Режим передачи + + + Qt::AlignCenter + + + + + + 130 + 20 + 91 + 20 + + + + Bluetooth + + + 1 + + + + 433 + + + + + Bluetooth + + + + + + + true + + + + 380 + 0 + 511 + 871 + + + + QFrame::WinPanel + + + QFrame::Raised + + + 3 + + + + + 0 + 50 + 191 + 22 + + + + + 75 + true + true + + + + Верхние пороги корзин, мс + + + Qt::AlignCenter + + + + + + 20 + 100 + 71 + 21 + + + + 250 + + + 350 + + + 5 + + + 250 + + + + + + 230 + 100 + 81 + 21 + + + + 300 + + + 400 + + + 5 + + + 400 + + + + + + 390 + 100 + 81 + 21 + + + + 350 + + + 450 + + + 5 + + + 450 + + + + + + 10 + 160 + 161 + 22 + + + + Порог корзины фибриляций + + + Qt::AlignCenter + + + + + + 20 + 180 + 81 + 21 + + + + 10 + + + 60 + + + 10 + + + + + + 0 + 20 + 141 + 20 + + + + + 75 + true + true + + + + Настройки корзин + + + Qt::AlignCenter + + + + + + 10 + 80 + 81 + 22 + + + + Фибриляция + + + Qt::AlignCenter + + + + + + 210 + 80 + 111 + 22 + + + + Тахикардия 2 + + + Qt::AlignCenter + + + + + + 380 + 80 + 91 + 22 + + + + Тахикардия 1 + + + Qt::AlignCenter + + + + + + 220 + 160 + 121 + 22 + + + + Порог корзины ЖТ2 + + + Qt::AlignCenter + + + + + + 380 + 160 + 121 + 22 + + + + Порог корзины ЖТ1 + + + Qt::AlignCenter + + + + + + 230 + 180 + 81 + 21 + + + + 10 + + + 60 + + + 10 + + + + + + 390 + 180 + 81 + 21 + + + + 10 + + + 60 + + + 10 + + + + + + 0 + 240 + 181 + 22 + + + + Кол-во ступеней ВВ терапии + + + Qt::AlignCenter + + + + + + 180 + 240 + 41 + 21 + + + + 1 + + + 8 + + + 8 + + + + + + 0 + 270 + 171 + 22 + + + + Минимальная энергия, Дж + + + Qt::AlignCenter + + + + + + 180 + 270 + 81 + 21 + + + + 2 + + + 19 + + + 5 + + + 10 + + + + + + 10 + 300 + 161 + 22 + + + + Максимальная энергия, Дж + + + Qt::AlignCenter + + + + + + 180 + 300 + 81 + 21 + + + + 20 + + + 40 + + + 40 + + + + + + -20 + 330 + 141 + 22 + + + + Полярность + + + Qt::AlignCenter + + + + + + 180 + 330 + 151 + 22 + + + + + 0 + 2 + + + + true + + + Положительная + + + 0 + + + + Положительная + + + + + Отрицательная + + + + + Биполярная + + + + + + + 210 + 480 + 81 + 21 + + + + 100 + + + 1000 + + + 200 + + + + + + 10 + 480 + 191 + 22 + + + + Время слепоты после разряда, мс + + + Qt::AlignCenter + + + + + + 0 + 510 + 161 + 22 + + + + Таймаут отключения , с + + + Qt::AlignCenter + + + + + + 210 + 510 + 81 + 21 + + + + 10 + + + 3600 + + + 10 + + + 30 + + + + + + 10 + 540 + 171 + 22 + + + + Размер буффера редетекции + + + Qt::AlignCenter + + + + + + 210 + 540 + 81 + 21 + + + + 4 + + + 10 + + + 10 + + + + + + 10 + 570 + 161 + 22 + + + + Порог буффера редетекции + + + Qt::AlignCenter + + + + + + 210 + 570 + 81 + 21 + + + + 2 + + + 8 + + + 8 + + + + + + 0 + 210 + 81 + 20 + + + + + 75 + true + true + + + + Терапия + + + Qt::AlignCenter + + + + + + 0 + 600 + 161 + 22 + + + + Коэффициент усиления + + + Qt::AlignCenter + + + + + + 210 + 600 + 81 + 21 + + + + 0 + + + 255 + + + 0 + + + + + true + + + + 180 + 360 + 131 + 111 + + + + -1 + + + + + + source/pol_1.jpg + + + true + + + + + true + + + + 180 + 360 + 131 + 111 + + + + + + + source/pol_2.jpg + + + true + + + + + true + + + + 180 + 360 + 131 + 111 + + + + + + + source/pol_3.jpg + + + true + + + + + + 0 + 130 + 181 + 22 + + + + + 75 + true + true + + + + Ёмкость корзин событий + + + Qt::AlignCenter + + + level + High_Tf_spinBox + High_Tt2_spinBox + High_Tt1_spinBox + f_count_l + f_count_spinBox + backets_settings + High_Tf_l + High_Tt2_l + High_Tt1_l + t2_count_l + t2_count_l_2 + t2_count_spinBox + t1_count_spinBox + hv_step_number_l + hv_step_number_spinBox + min_energy_l + min_energy_spinBox + max_energy_l + max_energy_spinBox + cap_polarity_l + cap_polarity_BOX + hv_blind_time_spinBox + hv_blind_time_l + standby_timer_l + standby_timer_spinBox + redet_num_l + redet_num_spinBox + redet_bad_l + redet_bad_spinBox + terapy + Spi_spot_set_l + Spi_spot_set_spinBox + picture_2 + picture_3 + picture_1 + c_level + + diff --git a/project/view.py b/project/view.py index 7eaf853..ed12f6f 100644 --- a/project/view.py +++ b/project/view.py @@ -39,7 +39,7 @@ class Ui(QtWidgets.QMainWindow): super(Ui, self).__init__() uic.loadUi('design_viewer.ui', self) self.setWindowTitle("Pacemaker viewer") - self.setWindowIcon(QtGui.QIcon("logo.ICO")) + self.setWindowIcon(QtGui.QIcon("source/logo.ICO")) self.counter_com_port = [] # координата x для вывода графиков @@ -61,6 +61,8 @@ class Ui(QtWidgets.QMainWindow): self.horizontalScrollBar.setVisible(False) self.horizontalScrollBar.valueChanged.connect(self.on_scroll) self.radioButton_work_mode_com_port.toggled.connect(self.check_work_mode_viewer) + self.Play.clicked.connect(self.on_play) + self.Pause.clicked.connect(self.on_pause) self.OpenB.clicked.connect(self.on_open) self.CloseB.clicked.connect(self.on_close) self.Write_file.clicked.connect(self.write_file) @@ -70,12 +72,12 @@ class Ui(QtWidgets.QMainWindow): self.Restart.clicked.connect(self.restart) self.SD_card_Box.currentTextChanged.connect(self.set_SD_card) self.Send_mode_Box.currentTextChanged.connect(self.set_send_mode) - self.ComL.addItems(self.update_list()) + self.Port_ch.addItems(self.update_list()) self.horizontalScrollBar.valueChanged.connect(self.on_scroll) self.RA_scale_BOX.currentTextChanged.connect(self.on_scale_change) - self.Low_V_spinBox.valueChanged.connect(self.set_fibr_cnt_max) - self.Low_V_spinBox_3.valueChanged.connect(self.set_tachy_2_cnt_max) - self.Low_V_spinBox_4.valueChanged.connect(self.set_tachy_1_cnt_max) + self.f_count_spinBox.valueChanged.connect(self.set_fibr_cnt_max) + self.t2_count_spinBox.valueChanged.connect(self.set_tachy_2_cnt_max) + self.t1_count_spinBox.valueChanged.connect(self.set_tachy_1_cnt_max) self.RA_max_time_ms_BOX.editTextChanged.connect(self.set_RA_max_time_ms_BOX) self.RA_min_sensitivity_BOX.editTextChanged.connect(self.set_RA_min_sensitivity_BOX) @@ -90,12 +92,13 @@ class Ui(QtWidgets.QMainWindow): self.High_Tf_spinBox.valueChanged.connect(self.set_High_Tf_spinBox) self.High_Tt2_spinBox.valueChanged.connect(self.set_High_Tt2_spinBox) self.High_Tt1_spinBox.valueChanged.connect(self.set_High_Tt1_spinBox) - self.Low_V_spinBox.valueChanged.connect(self.set_Low_V_spinBox) + self.f_count_spinBox.valueChanged.connect(self.set_f_count_spinBox) self.Work_Mode_pacemaker.editTextChanged.connect(self.set_Work_Mode_pacemaker) self.hv_step_number_spinBox.valueChanged.connect(self.set_hv_step_number_spinBox) self.min_energy_spinBox.valueChanged.connect(self.set_min_energy_spinBox) self.max_energy_spinBox.valueChanged.connect(self.set_max_energy_spinBox) + self.cap_polarity_BOX.editTextChanged.connect(self.set_cap_polarity_BOX) self.hv_blind_time_spinBox.valueChanged.connect(self.set_hv_blind_time_spinBox) self.standby_timer_spinBox.valueChanged.connect(self.set_standby_timer_spinBox) self.redet_num_spinBox.valueChanged.connect(self.set_redet_num_spinBox) @@ -109,7 +112,7 @@ class Ui(QtWidgets.QMainWindow): self.serial.setBaudRate(115200) self.serial.readyRead.connect(self.on_read) - self.send_mode = 0 + self.send_mode = 1 # Создание таймера для отрисовки графиков self.timer = QtCore.QTimer() @@ -168,7 +171,7 @@ class Ui(QtWidgets.QMainWindow): self.High_Tf_spinBox.setValue(data_in.fibr_tres) self.High_Tt2_spinBox.setValue(data_in.tachy_2_tres) self.High_Tt1_spinBox.setValue(data_in.tachy_1_tres) - self.Low_V_spinBox.setValue(data_in.fibr_max_tres) + self.f_count_spinBox.setValue(data_in.fibr_max_tres) self.hv_step_number_spinBox.setValue(data_in.hv_step_number) self.min_energy_spinBox.setValue(data_in.min_energy) self.max_energy_spinBox.setValue(data_in.max_energy) @@ -184,7 +187,10 @@ class Ui(QtWidgets.QMainWindow): self.draw_data(data_IN_COM) if MODE_FILE: scale = self.get_scale() - data_IN_FILE.data_length = scale * my_data.DATA_RATE + points_count = scale * my_data.DATA_RATE + if points_count < data_IN_FILE.data_length: + data_IN_FILE.data_length = points_count + self.horizontalScrollBar.setValue(data_IN_FILE.i) data_IN_FILE.parse_list(data_IN_FILE.chunk[data_IN_FILE.i:data_IN_FILE.i + 640]) data_IN_FILE.i += 640 self.graph_1.setXRange(self.counter_com_port[0], self.counter_com_port[0] + scale) @@ -197,11 +203,11 @@ class Ui(QtWidgets.QMainWindow): def on_start(self): """ - Старт обменя с com-портом + Старт обмена с com-портом """ global MODE_COM_PORT data_IN_COM.clear_data() - self.serial.setPortName(self.ComL.currentText()) + self.serial.setPortName(self.Port_ch.currentText()) self.serial.open(QIODevice.ReadWrite) self.serial.flush() self.serial.write(mes.encode()) @@ -386,13 +392,32 @@ class Ui(QtWidgets.QMainWindow): self.on_close() file, _ = QFileDialog.getOpenFileName(self, 'Open File') if file: + self.timer.start() + self.timer_LS.start() data_IN_FILE.clear_data() self.file_name = file self.Fname_label.setText(self.file_name) my_data.get_data_bin(self.file_name, data_IN_FILE) self.counter_com_port = list(map(lambda x: x / my_data.DATA_RATE, range(0, data_IN_FILE.data_length))) + self.horizontalScrollBar.setMinimum(0) + self.horizontalScrollBar.setMaximum(len(data_IN_FILE.chunk)) MODE_FILE = True + def on_play(self): + """ + Запустить отрисовку + """ + self.timer.start() + self.timer_LS.start() + + def on_pause(self): + """ + Остановить отрисовку + """ + self.timer.stop() + self.timer_LS.stop() + + def draw_file(self): scale = self.get_scale() size = scale * my_data.DATA_RATE @@ -411,7 +436,9 @@ class Ui(QtWidgets.QMainWindow): scale = self.get_scale() if len(data_IN_FILE.counter) != 0: position = self.horizontalScrollBar.value() - self.point = int((len(data_IN_FILE.counter) / my_data.DATA_RATE) * (position / 1000)) + # self.point = int((len(data_IN_FILE.counter) / my_data.DATA_RATE) * (position / 1000)) + # data_IN_FILE.i = self.point + data_IN_FILE.i = position def on_scroll(self): self.re_scale() @@ -467,9 +494,9 @@ class Ui(QtWidgets.QMainWindow): self.CloseB.setVisible(False) self.Play.setVisible(False) self.Pause.setVisible(False) - self.Fname_label_com_port.setVisible(True) + self.label_com_port.setVisible(True) self.Fname_w_label.setVisible(True) - self.ComL.setVisible(True) + self.Port_ch.setVisible(True) self.Read.setVisible(True) self.Stop.setVisible(True) self.Write_file.setVisible(True) @@ -482,9 +509,9 @@ class Ui(QtWidgets.QMainWindow): self.CloseB.setVisible(True) self.Play.setVisible(True) self.Pause.setVisible(True) - self.Fname_label_com_port.setVisible(False) + self.label_com_port.setVisible(False) self.Fname_w_label.setVisible(False) - self.ComL.setVisible(False) + self.Port_ch.setVisible(False) self.Read.setVisible(False) self.Stop.setVisible(False) self.Write_file.setVisible(False) @@ -572,9 +599,9 @@ class Ui(QtWidgets.QMainWindow): param = self.High_Tt1_spinBox.value() my_data.state_packet(self.send_mode, self.serial, 0x12, param, 2, int) - def set_Low_V_spinBox(self): + def set_f_count_spinBox(self): """Установка порога корзины фибрилляции""" - param = self.Low_V_spinBox.value() + param = self.f_count_spinBox.value() my_data.state_packet(self.send_mode, self.serial, 0x13, param, 1, int) def set_hv_step_number_spinBox(self): @@ -615,12 +642,31 @@ class Ui(QtWidgets.QMainWindow): def set_fibr_cnt_max(self): """Визуализация корзины фибрилляции""" # + отправить стимулятору - self.progressBar_f.setMaximum(self.Low_V_spinBox.value()) + self.progressBar_f.setMaximum(self.f_count_spinBox.value()) def set_tachy_2_cnt_max(self): """Визуализация корзины тахикардии 2ст""" - self.progressBar_t2.setMaximum(self.Low_V_spinBox_3.value()) + self.progressBar_t2.setMaximum(self.t2_count_spinBox.value()) def set_tachy_1_cnt_max(self): """Визуализация корзины тахикардии 1ст""" - self.progressBar_t1.setMaximum(self.Low_V_spinBox_4.value()) + self.progressBar_t1.setMaximum(self.t1_count_spinBox.value()) + + def set_cap_polarity_BOX(self): + """Выбор полярности""" + param = self.cap_polarity_BOX.currentIndex() + match param: + case 0: + self.picture_1.setVisible(True) + self.picture_2.setVisible(False) + self.picture_3.setVisible(False) + case 1: + self.picture_2.setVisible(True) + self.picture_1.setVisible(False) + self.picture_3.setVisible(False) + case 2: + self.picture_3.setVisible(True) + self.picture_1.setVisible(False) + self.picture_2.setVisible(False) + + diff --git a/logo.ico b/source/logo.ico similarity index 100% rename from logo.ico rename to source/logo.ico diff --git a/source/pol_1.jpg b/source/pol_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..16be27714b1dac276ab6ee8763972ad99c8df8a4 GIT binary patch literal 14999 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 bxBSEqc_pPvdCI>$Dd(ol^D)0wG4p=_3`n4; literal 0 HcmV?d00001 diff --git a/source/pol_2.jpg b/source/pol_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d1fdbf05f0affc252a51c510bf091e5ef159ec7c GIT binary patch literal 14928 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 V0XO?(fE(rM`f+#1heu@7{{u4*xbOe~ literal 0 HcmV?d00001