From f2b66973332feef365c30b25a912f5ff99beccc7 Mon Sep 17 00:00:00 2001 From: kradchen Date: Mon, 30 Jun 2025 13:21:54 +0800 Subject: [PATCH] feat: make disable button more clarity --- src/Combinear.css | 33 +- src/Icon/annod.png | Bin 0 -> 2577 bytes src/Icon/distanced.png | Bin 0 -> 968 bytes src/Icon/flipd.png | Bin 0 -> 3268 bytes src/Icon/gridd.png | Bin 0 -> 1574 bytes src/Icon/pand.png | Bin 0 -> 1642 bytes src/Icon/sliced.png | Bin 0 -> 5365 bytes src/Icon/sync/sync_disd.png | Bin 0 -> 5108 bytes src/Icon/windowleveld.png | Bin 0 -> 2867 bytes src/Icon/zoomd.png | Bin 0 -> 3383 bytes src/QDicomViewer.qrc | 9 + src/src/UI/Widget/ToolBar/DefaultToolBar.cpp | 65 +- src/translations/en_US.ts | 522 ++++++----- src/translations/zh_CN.ts | 925 +++++++++---------- 14 files changed, 776 insertions(+), 778 deletions(-) create mode 100644 src/Icon/annod.png create mode 100644 src/Icon/distanced.png create mode 100644 src/Icon/flipd.png create mode 100644 src/Icon/gridd.png create mode 100644 src/Icon/pand.png create mode 100644 src/Icon/sliced.png create mode 100644 src/Icon/sync/sync_disd.png create mode 100644 src/Icon/windowleveld.png create mode 100644 src/Icon/zoomd.png diff --git a/src/Combinear.css b/src/Combinear.css index b46e6cd..5f3eb74 100644 --- a/src/Combinear.css +++ b/src/Combinear.css @@ -45,11 +45,6 @@ QToolButton:pressed background-color: #646464; } -QToolButton:disabled -{ - background-color: #222222; -} - QToolBar QToolButton{ min-width: 36px; max-width: 36px; @@ -65,6 +60,7 @@ QToolButton#groupButton { QToolBar QToolButton[toolButtonStyle="2"]{ min-width: 42px; max-width: 42px; + } QToolButton#file { @@ -73,30 +69,33 @@ QToolButton#file { QToolButton#import { qproperty-icon: url(":/InfiniteViewer/Icon/import.png") } -QToolButton#save { +/* QToolButton#save { qproperty-icon: url(":/InfiniteViewer/Icon/save.png") +} */ +/* QToolButton#grid{ + qproperty-icon: url(":/InfiniteViewer/Icon/grid.png"); } -QToolButton#grid { - qproperty-icon: url(":/InfiniteViewer/Icon/grid.png") -} -QToolButton#sync { +QToolButton#grid:disabled{ + qproperty-icon: url(":/InfiniteViewer/Icon/save.png"); +} */ +/* QToolButton#sync { qproperty-icon: url(":/InfiniteViewer/Icon/sync/sync_dis.png") -} -QToolButton#anonymize { +} */ +/* QToolButton#anonymize { qproperty-icon: url(":/InfiniteViewer/Icon/anno.png") -} +} */ -QToolButton#slice{qproperty-icon:url(":/InfiniteViewer/Icon/slice.png")} +/* QToolButton#slice{qproperty-icon:url(":/InfiniteViewer/Icon/slice.png")} QToolButton#window{qproperty-icon:url(":/InfiniteViewer/Icon/windowlevel.png")} QToolButton#pan{qproperty-icon:url(":/InfiniteViewer/Icon/pan.png")} QToolButton#zoom{qproperty-icon:url(":/InfiniteViewer/Icon/zoom.png")} -QToolButton#measure{qproperty-icon:url(":/InfiniteViewer/Icon/distance.png")} +QToolButton#measure{qproperty-icon:url(":/InfiniteViewer/Icon/distance.png")} */ QToolButton#clear{qproperty-icon:url(":/InfiniteViewer/Icon/trashbin.png")} -QToolButton#flip{qproperty-icon:url(":/InfiniteViewer/Icon/flip.png")} +/* QToolButton#flip{qproperty-icon:url(":/InfiniteViewer/Icon/flip.png")} */ QToolButton#cine{qproperty-icon:url(":/InfiniteViewer/Icon/cine.png")} QToolButton#fusion{qproperty-icon:url(":/InfiniteViewer/Icon/fusion.png")} -QToolButton#MPR{qproperty-icon:url(":/InfiniteViewer/Icon/MPR.png")} +/* QToolButton#MPR{qproperty-icon:url(":/InfiniteViewer/Icon/MPR.png")} */ QToolButton#VR{qproperty-icon:url(":/InfiniteViewer/Icon/VR.png")} QToolButton#About{qproperty-icon:url(":/InfiniteViewer/Icon/about.png")} diff --git a/src/Icon/annod.png b/src/Icon/annod.png new file mode 100644 index 0000000000000000000000000000000000000000..be627f3c44dedd5a8c354455768accec76ef7cac GIT binary patch literal 2577 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 literal 0 HcmV?d00001 diff --git a/src/Icon/distanced.png b/src/Icon/distanced.png new file mode 100644 index 0000000000000000000000000000000000000000..b390f4e11e367f50e4058a7ca264cae1ccc36c4c GIT binary patch literal 968 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVD9&HaSW-L^LB1_wy>jwTl$~= zX-Z12g<&7sL`2@SZ&RoX5Io3zrkl%kN!*9$FYZTHZcNhk-E{el>gMy7_b;V<=9_al zW%F)DMWBgba6n_ply5;^?1@T`LYfs@mSvXR-d0;!^!dUWH~vNjHKnB`)-4~Notf|6 z-@u@@AamC1+}m{#1>aW)3LH4GWXd*Yj^o;LW>GBDk4Z57H`uIic9rpm-50MvOzS%Kjr2Zw_V6VnR)roVR2g&b-HWxhxJA`N=x6;)YoIQVe*!>Vsh_x&BPtj4GiXh@Z`kB_T~x?n>8Eg)3qKbH zF|COB*Tm7aPUBfhz|&9X&wQTj>?+;(P=WvMF z=ge^ElPr_KwD$rH8*17a$Wfy3;#Bz)W{*RknyVN*WA>FWoDk<@_<4v?A>M-F2{(H~ z%|nI>`Z5fkTA3a870^Vou9b1hAG5z*&mHS>8Gq;p&-nH#J-|dYz zyDw#)7@x@S{KWswg+2Pk=XS@oEABtUAa>IJXtwe0>klg@*kAT%ET6rsa{C*`6Z2n2 zAE@^idHj3M=d;DzT>tr$Go62Y;!K%eZu6g=ECB)s(~Wm`{gGq~5NPbaA7v%+vlPfY z_-NsY^}mA~W>zw^i{BLcY5Y^7Vj{-``^}FTR0S34m$5hPa=WnYE&r4ADe48ivWJ(a zZM%Nm=f(mCE~SdRH2&XnxTS?099h<%dERn839A56+0^ zd0B9zfc>ZO|FjE}IHZiNrHXY8E`}dI=O&Q6CqK>Xn^i(m&3uKWUn*Xe!ZOc_57G+t VH>b}u-*g@%{MTl+*wK literal 0 HcmV?d00001 diff --git a/src/Icon/flipd.png b/src/Icon/flipd.png new file mode 100644 index 0000000000000000000000000000000000000000..bf36cad8c300294cf16ab5941a255af8382832fa GIT binary patch literal 3268 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 O5MX0TBHXv|P5cLx0^Cyo literal 0 HcmV?d00001 diff --git a/src/Icon/sliced.png b/src/Icon/sliced.png new file mode 100644 index 0000000000000000000000000000000000000000..51ab97f755992e562f1a89888a2c2be3f9102f07 GIT binary patch literal 5365 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

dRIAA+oyVHRerb={=6kDh$pP!}s$Z`%VGjDFl>B z*QGhn3<^5psS-F}C5>jn0vpcn&fGB47OuQXaMJoE%pOc-uXRKY4a8&M9Ys*P=HLbMZim>WW-|}@yqJ{bo zYXd%ANMwv=2dQ&Tevonx@&h~ZCpK6lvc6Xm`h{6p>?^$2)FR%`8A1ikAUZG%WqHG( zoA4D7_cqe}yiT*z038zAgti-t>bSx;Ao8B|`s`oXV;GjmY{l20QnT+D5v%3ciI z$`4?=BKZhgXS8A zg$k89V9`@`Z1TVii4=UN+~hks{JltpOU>)T+BIb%8jTFi$p^ls+66=Kqt6_HCb8Ah z4?9OC89pNa|bVjl`R zv$2=^k-Hk#Q!nt`GpU-b%JohA+RtJczkisAO~b>(`(`@7?ZPQzd$}9m4lZ82xFVg? zx2~i36C|e;5yq5dw7qi`2dedQd#Bu?7EO;+)8t!?)Z1kw2-`hUJ{zDji^@|9!H6=S zr%H>TvT{(cWkK0Oku9)L0_nCT&Otz&>2F5odsjwGLtwDsxI0&# zW@m=ndaR~T)1?q1LoNuks^o?(_?nlf8NTAM+N;fcYeN&Ry z%sULZ_dW7X{>qQ9LZiSp;j**IsCk~_U*hH?XEku9p=II4>ia6D9Y(sl!UKiJgYf_e z9>5)wurAO-hXB}wQ3PqqvF>tL#`eE>6wKmQwnZCcxM zU%jh9^U-Kh5G#R?`~K&8*rDz2%f+3vqeN1fBqFULKf{k7J)1c{Q6+CC8HPa@d;c(h zZnk#E9&1aw<5mrUG5;uSm*n!2Ag*`+D871fcM?5M3DEi_3j|4{2%f9eOmlZqE00lp3t0{7Ra8)Tac&IadOq~-m2e)kOU`+LvC+}({vofwn&_V* zhd5K?2*1A!M@z5q?-q4I5=p>Ktk78RFX=IrFlP{s0yInm!^|F8xyFfr6c6{p?U!!cydJf!63^?RuMOR;$gc1CO@_tgmW%vi9P0BSPCsG+HBhMR=4wpf6Kl^o zKVNZJ*l^4crdEk6ijdGYHpig_OeDNQF+wvF-_7!b%e1IFCzV|JL+txg&WY&YP@OG& zc>_kme$cWYrDAsDE>+a6i74lj$L!&d&PtLuhiaB^n1mfWmjX9^R}`}EL=#OlFhrPT zC@+>n3WR;a6idaL&YKo_?b#Qq2v|#i*-6U=lraKZu!nI*xriy%IK$3HFk}v#g=e|f zy?by!arP!}d8(Mb@y6Zk+Ib^44&A%hgsms%;+d@pF&-z$opXDRvC@=KR&^D`zRYbI zB-F(ke=*O-CdFvOv)QS-*STcwG8m^R09130Qh4CQZ2|8!EF{BZl>%+>)UBAKO%+dB zw)j_Ap2J}y!4_He&S<*o$KhZ9r%UKk|5w}4<4W8f;-H?{&IFA0&2iOOw}k%zwrI(8 literal 0 HcmV?d00001 diff --git a/src/Icon/sync/sync_disd.png b/src/Icon/sync/sync_disd.png new file mode 100644 index 0000000000000000000000000000000000000000..0d59fa0334bdf6d10dd815d1b359ca8d046354ca GIT binary patch literal 5108 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 R;idop002ovPDHLkV1n8&Ntyrv literal 0 HcmV?d00001 diff --git a/src/Icon/zoomd.png b/src/Icon/zoomd.png new file mode 100644 index 0000000000000000000000000000000000000000..5ec4ff42e2b5759820d3f5ae09e5c906375e13bf GIT binary patch literal 3383 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 Icon/angle.png + Icon/distanced.png Icon/distance.png + Icon/gridd.png Icon/grid.png Icon/hidden.png Icon/openfile.png Icon/pan.png + Icon/windowleveld.png + Icon/zoomd.png + Icon/pand.png Icon/windowlevel.png Icon/zoom.png Icon/sync/sync_auto.png Icon/sync/sync_dis.png + Icon/sync/sync_disd.png Icon/sync/sync_manual.png Icon/save.png Icon/anno.png + Icon/annod.png Icon/flip.png + Icon/flipd.png Icon/cine.png Icon/fusion.png Icon/trashbin.png Icon/slice.png + Icon/sliced.png Icon/import.png Icon/logo.png Icon/close.png diff --git a/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp b/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp index 03ca436..4489b3f 100644 --- a/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp +++ b/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp @@ -113,31 +113,79 @@ void DefaultToolBar::initToolBarButtons() { addButton(mBtnGrid, "grid"); mBtnGrid->setEnabled(false); + { + QIcon icon; + icon.addFile(":/InfiniteViewer/Icon/grid.png"); + icon.addFile(":/InfiniteViewer/Icon/gridd.png", QSize(), QIcon::Disabled); + mBtnGrid->setIcon(icon); + } + addButton(mBtnSync, "sync"); mBtnSync->setEnabled(false); + { + QIcon icon; + icon.addFile(":/InfiniteViewer/Icon/sync/sync_dis.png"); + icon.addFile(":/InfiniteViewer/Icon/sync/sync_disd.png", QSize(), QIcon::Disabled); + mBtnSync->setIcon(icon); + } addButton(mBtnAnonymize, "anonymize"); mBtnAnonymize->setEnabled(false); - + { + QIcon icon; + icon.addFile(":/InfiniteViewer/Icon/anno.png"); + icon.addFile(":/InfiniteViewer/Icon/annod.png", QSize(), QIcon::Disabled); + mBtnAnonymize->setIcon(icon); + } addSeparator(); QButtonGroup *modeGroup = new QButtonGroup(this); addGroupedButton(mBtnSlice, "slice", modeGroup); mBtnSlice->setEnabled(false); + { + QIcon icon; + icon.addFile(":/InfiniteViewer/Icon/slice.png"); + icon.addFile(":/InfiniteViewer/Icon/sliced.png", QSize(), QIcon::Disabled); + mBtnSlice->setIcon(icon); + } addGroupedButton(mBtnWindow, "window", modeGroup); mBtnWindow->setEnabled(false); + { + QIcon icon; + icon.addFile(":/InfiniteViewer/Icon/windowlevel.png"); + icon.addFile(":/InfiniteViewer/Icon/windowleveld.png", QSize(), QIcon::Disabled); + mBtnWindow->setIcon(icon); + } addGroupedButton(mBtnPan, "pan", modeGroup); mBtnPan->setEnabled(false); + { + QIcon icon; + icon.addFile(":/InfiniteViewer/Icon/pan.png"); + icon.addFile(":/InfiniteViewer/Icon/pand.png", QSize(), QIcon::Disabled); + mBtnPan->setIcon(icon); + } addGroupedButton(mBtnZoom, "zoom", modeGroup); mBtnZoom->setEnabled(false); + { + QIcon icon; + icon.addFile(":/InfiniteViewer/Icon/zoom.png"); + icon.addFile(":/InfiniteViewer/Icon/zoomd.png", QSize(), QIcon::Disabled); + mBtnZoom->setIcon(icon); + } addGroupedButton(mBtnMeasure, "measure", modeGroup); mBtnMeasure->setEnabled(false); + { + QIcon icon; + icon.addFile(":/InfiniteViewer/Icon/distance.png"); + icon.addFile(":/InfiniteViewer/Icon/distanced.png", QSize(), QIcon::Disabled); + mBtnMeasure->setIcon(icon); + } auto actionClear= addButton(mBtnClear, "clear"); mBtnClear->setEnabled(false); @@ -148,6 +196,12 @@ void DefaultToolBar::initToolBarButtons() { addButton(mBtnFlip, "flip"); mBtnFlip->setEnabled(false); + { + QIcon icon; + icon.addFile(":/InfiniteViewer/Icon/flip.png"); + icon.addFile(":/InfiniteViewer/Icon/flipd.png", QSize(), QIcon::Disabled); + mBtnFlip->setIcon(icon); + } auto actionCine = addButton(mBtnCine, "cine"); mBtnCine->setEnabled(false); @@ -160,6 +214,12 @@ void DefaultToolBar::initToolBarButtons() { addButton(mBtnMPR, "MPR"); mBtnMPR->setEnabled(false); + { + QIcon icon; + icon.addFile(":/InfiniteViewer/Icon/MPR.png"); + icon.addFile(":/InfiniteViewer/Icon/unMPR.png", QSize(), QIcon::Disabled); + mBtnMPR->setIcon(icon); + } //hide for this version auto actionVR = addButton(mBtnVR, "VR"); @@ -427,6 +487,9 @@ void DefaultToolBar::initMeasureButton() { } m->addAction(tr("Location Point"), this,[=](){ + mBtnMeasure->setChecked(true); + QPixmap map(":/InfiniteViewer/Icon/crosshair.png"); + mBtnMeasure->setIcon(QIcon(map)); emit modeChanged(38); }); m->addSeparator(); diff --git a/src/translations/en_US.ts b/src/translations/en_US.ts index 7688141..9770fb7 100644 --- a/src/translations/en_US.ts +++ b/src/translations/en_US.ts @@ -1,18 +1,8 @@ - + ConfigurationDialog - - - Advanced settings - - - - - PACS location - - Listening port: @@ -23,6 +13,16 @@ Local AE title: + + + Advanced settings + + + + + PACS location + + Retrieval Protocol @@ -122,295 +122,311 @@ DefaultToolBar - + Open Dicom series from directory - + Open DICOM folder - + Open DICOM file - + Change Language - 切换为中文界面 + - + Quit - + Search and download studies from PACS locations - + Export images - + Layout - + Toggle series synchronization - + Sychronize slice - + Sychronize zoom & pan - + Sychronize window level & width - + Adjust window level - - - Negative - - - - - Pan image - - - - - Zoom image - - - - - Browse series - - - - - Toggle annotations - - - - - Annotations - - - - - Cross Reference Line - - - - - Hide all measurements - - - Hide patient data - - - - - Show Dicom tags - - - - - Closed polygon - - - - - Open polygon - - - - - Arrow - - - - - Ellipse - - - - - Text - - - - - Location Point - - - - Custom window width and level - + gray - + + Negative + + + + Jet - - - Ruler - - - Angle gauge + Pan image + Zoom image + + + + + Browse series + + + + + Toggle annotations + + + + + Annotations + + + + + Cross Reference Line + + + + + Hide all measurements + + + + + Hide patient data + + + + + Show Dicom tags + + + + + Ruler + + + + + Angle gauge + + + + + Closed polygon + + + + + Open polygon + + + + + Arrow + + + + + Ellipse + + + + Round - - - Measuring tool - - - - - Delete selected - - - - - Delete all in current slice - - - - - Delete all in current series - - - - - Fusion - - - - - Cine - - - - - Delete current series - - - - - Transformations - - - Rotate 90 CCW - - - - - Rotate 90 CW - - - - - Rotate 180 - - - - - Flip horizontal - - - - - Flip vertical - - - - - Clear transformations + Text + Measuring tool + + + + + Location Point + + + + + Delete selected + + + + + Delete all in current slice + + + + + Delete all in current series + + + + + Fusion + + + + + Cine + + + + + Delete current series + + + + + Transformations + + + + + Rotate 90 CCW + + + + + Rotate 90 CW + + + + + Rotate 180 + + + + + Flip horizontal + + + + + Flip vertical + + + + + Clear transformations + + + + MPR - + 3D MPR - + Coronal - + Sagittal - + Axial - + Full screen - + Exit full screen mode - + Minimize - + Close + + + About + + + + + Built with Qt 5.12.0 and VTK 9.2. + + + + + Copyright © %1 Zhejiang Equilibrium Nine Medical Equipment Co., Ltd. +All Rights Reserved + + DicomImageView @@ -676,6 +692,11 @@ Avg:%5, SD:%6 ImportWidget + + + PACS Configuration + + Search @@ -686,57 +707,6 @@ Avg:%5, SD:%6 Clear - - - Study date - - - - - - - Patient name - - - - - Date of birth - - - - - - - Patient ID - - - - - Modality - - - - - Study ID - - - - - Study Instance Uid - - - - - - - Accession number - - - - - PACS Configuration - - All modalities @@ -789,12 +759,58 @@ Avg:%5, SD:%6 Custom date range + + + + + Patient name + + + + + + + Patient ID + + + + + + + Accession number + + Device name + + + Study date + + + + + Date of birth + + + + + Modality + + + + + Study ID + + + + + Study Instance Uid + + Referring physician @@ -842,32 +858,32 @@ Avg:%5, SD:%6 OpenPolyAnnotationActor - + mm - + cm - + mm² - + cm² - + Distance - + Area @@ -891,47 +907,47 @@ Avg:%5, SD:%6 QDicomViewer - + Ready - + Open dicom directory - + Open dicom files - + confirm - + Change Language will reload the application, please confirm to do this! - + Ok - + Cancel - + Warning - + open DICOM Images From PACS Fail diff --git a/src/translations/zh_CN.ts b/src/translations/zh_CN.ts index 7938452..9770fb7 100644 --- a/src/translations/zh_CN.ts +++ b/src/translations/zh_CN.ts @@ -1,106 +1,86 @@ - + ConfigurationDialog - - Listener port: - 监听端口: - - - My AE title: - 本地AETitle: - - - - Advanced settings - 高级设置 - - - - PACS location - PACS位置 - - - Retrive Protocol - 检索协议 - Listening port: - 监听端口: + Local AE title: - 本地AETitle + + + + + Advanced settings + + + + + PACS location + Retrieval Protocol - 检索协议 + IP address - IP地址 + Port - 端口 + AE title - + Description - 描述 + Save - 保存 + Cancel - 取消 + Retrieval protocol - 检索协议 + Maximum active downloads Number - 最大可同时下载数 - - - Retrieve protocol - 检索协议 - - - Maximum active downloads - 最大可同时下载数 + Preferred transfer syntax - 首选传输语法 + Character set - 字符集 + @@ -108,7 +88,7 @@ PACS configuration - PACS配置 + @@ -116,340 +96,336 @@ Customwindow - 自定义窗宽窗位 + Window level - 窗位 + Window width - 窗宽 + OK - 确定 + Cancel - 取消 + DefaultToolBar - - Open DICOM folder - 打开文件夹 - - - - Open DICOM file - 打开文件 - - - - Quit - 退出 - - - - Search and download studies from PACS locations - 从PACS获取 - - - - Export images - - - - - Layout - 动态布局 - - - - Toggle series synchronization - 激活图像同步 - - - CUR STATE: %1 - 当前状态: %1 - - - + Open Dicom series from directory - 打开DICOM + - + + Open DICOM folder + + + + + Open DICOM file + + + + Change Language - Language: English + - + + Quit + + + + + Search and download studies from PACS locations + + + + + Export images + + + + + Layout + + + + + Toggle series synchronization + + + + Sychronize slice - 同步翻页 + - + Sychronize zoom & pan - 同步缩放&移动 + - + Sychronize window level & width - 同步窗宽窗位 + - + Adjust window level - 调窗 - - - Custom Window - 自定义窗宽窗位 - - - - Negative - 负相 - - - - Pan image - 移动 - - - - Zoom image - 缩放 - - - - Browse series - 翻页 - - - - Toggle annotations - 四角标记 - - - - Annotations - 四角标记 - - - - Cross Reference Line - 参考线 - - - - Hide all measurements - 隐藏所有测量 + - Hide patient data - 隐藏患者信息 - - - - Show Dicom tags - 显示DICOM标记 - - - Length - 直尺 - - - Angle - 量角器 - - - - Closed polygon - 闭合多边形 - - - - Open polygon - 开放多边形 - - - - Arrow - 箭头 - - - - Ellipse - 椭圆 - - - - Round - 正圆直径测量 - - - - Text - 文字 - - - Measurements - 测量工具 - - - Custom window width and level - 自定义窗宽窗位 + - + gray - + + Negative + + + + Jet - - - Ruler - 直尺 - + Pan image + + + + + Zoom image + + + + + Browse series + + + + + Toggle annotations + + + + + Annotations + + + + + Cross Reference Line + + + + + Hide all measurements + + + + + Hide patient data + + + + + Show Dicom tags + + + + + Ruler + + + + Angle gauge - 量角器 + - - Measuring tool - 测量工具 + + Closed polygon + - - Delete selected - 删除选中 + + Open polygon + - - Delete all in current slice - 删除当前图像中所有测量 + + Arrow + - - Delete all in current series - 删除当前序列所有图像 + + Ellipse + - - Location Point - 病灶定位 - - - - Fusion - - - - - Cine - - - - - Delete current series - 删除当前序列所有测量 - - - - Transformations - 翻页&旋转 + + Round + - Rotate 90 CCW - 逆时针旋转90度 - - - - Rotate 90 CW - 顺时针旋转90度 - - - - Rotate 180 - 旋转180度 - - - - Flip horizontal - 水平翻转 - - - - Flip vertical - 垂直翻转 - - - - Clear transformations - 清除变换 + Text + + Measuring tool + + + + + Location Point + + + + + Delete selected + + + + + Delete all in current slice + + + + + Delete all in current series + + + + + Fusion + + + + + Cine + + + + + Delete current series + + + + + Transformations + + + + + Rotate 90 CCW + + + + + Rotate 90 CW + + + + + Rotate 180 + + + + + Flip horizontal + + + + + Flip vertical + + + + + Clear transformations + + + + MPR - 多平面重建 + - + 3D MPR - + - + Coronal - 冠状面 + - + Sagittal - 矢状面 + - + Axial - 横断面 + - + Full screen - 全屏 + - + Exit full screen mode - 退出全屏 + - + Minimize - 最小化 + - + Close - 关闭 + + + + + About + + + + + Built with Qt 5.12.0 and VTK 9.2. + + + + + Copyright © %1 Zhejiang Equilibrium Nine Medical Equipment Co., Ltd. +All Rights Reserved + @@ -457,12 +433,12 @@ Error - 错误 + Unable to read file %1 - 无法读取文件 %1 + @@ -485,12 +461,12 @@ Length - + Description - + @@ -503,26 +479,24 @@ mm² - 平方毫米 + cm² - 平方厘米 + Area - 面积 + Area:%1 %7, Pixel:%2, Max:%3, Min:%4, Avg:%5, SD:%6 - 面积:%1 %7, 像素:%2, -最大值:%3, 最小值:%4, -平均值:%5, 标准差:%6 + @@ -620,7 +594,7 @@ Avg:%5, SD:%6 Annotations - 四角标记 + @@ -645,7 +619,7 @@ Avg:%5, SD:%6 Close - 关闭 + @@ -682,7 +656,7 @@ Avg:%5, SD:%6 Text Property - 文字属性 + @@ -692,16 +666,12 @@ Avg:%5, SD:%6 Apply - 应用 + Cancel - 取消 - - - Delete - 删除 + @@ -717,55 +687,119 @@ Avg:%5, SD:%6 Search and downlod studies from PACS locations - 从PACS查找获取检查 + ImportWidget + + + PACS Configuration + + Search - 搜索 + Clear - 清除 + - - Study date - 检查日期 + + All modalities + + + + + + + + + All dates + + + + + + Today + + + + + + Yesterday + + + + + + This week + + + + + + This month + + + + + + + Custom date + + + + + + + Custom date range + Patient name - 患者姓名 - - - - Date of birth - 出生日期 + Patient ID - 患者编码 + + + + + + + Accession number + Device name - 设备名称 + + + + + Study date + + + + + Date of birth + Modality - 模态 + @@ -777,119 +811,35 @@ Avg:%5, SD:%6 Study Instance Uid - - Study description - 检查描述 - - - - - - Accession number - 检查单号 - - - - PACS Configuration - PACS配置 - - - - All modalities - 所有模态 - - - - - - - - All dates - 所有日期 - - - - - Today - 今天 - - - - - Yesterday - 昨天 - - - - - This week - 本周 - - - - - This month - 本月 - - - - - - Custom date - 自定义日期 - - - - - - Custom date range - 自定义时间段 - - - Exam ID - 检查编码 - Referring physician - 转诊医生 + Performing physician - 检查医生 + Reading physician - 阅片医生 + Institution name - 机构名称 + Images - 图像数量 + Source - 数据源 - - - Number - 序列号 - - - Description - 描述 - - - #Images - 数量 + @@ -897,49 +847,45 @@ Avg:%5, SD:%6 maximize - 最大化 + shut down - 关闭 + OpenPolyAnnotationActor - - - mm - 毫米 - - - - cm - 厘米 - - - - mm² - 平方毫米 - - - - cm² - 平方厘米 - - Distance - 周长 - - - Perimeter - 直径 + mm + + cm + + + + + mm² + + + + + cm² + + + + + Distance + + + + Area - 面积 + @@ -947,7 +893,7 @@ Avg:%5, SD:%6 OK - 确定 + @@ -955,55 +901,55 @@ Avg:%5, SD:%6 Message - 信息 + QDicomViewer - + Ready - 就绪 + - + Open dicom directory - 打开文件夹 + - + Open dicom files - 打开文件 + - + confirm - 确认 + - + Change Language will reload the application, please confirm to do this! - 更改语言会重载整个程序,请确认是否要如此操作! + - + Ok - 确认 + - + Cancel - 取消 + - + Warning - 警告 + - + open DICOM Images From PACS Fail - 从PACS打开 + @@ -1011,19 +957,12 @@ Avg:%5, SD:%6 QDicomViewer - + toolBar - - - - - QObject - - Perimeter - 直径 + @@ -1046,44 +985,20 @@ Avg:%5, SD:%6 RoundAnnotationActor - - mm² - 平方毫米 - - - cm² - 平方厘米 - - - Area - 面积 - - - cm³ - 立方厘米 - - - mm³ - 立方毫米 - - - Volume - 体积 - mm - 毫米 + cm - 厘米 + Diameter - 直径 + @@ -1091,17 +1006,17 @@ Avg:%5, SD:%6 mm - 毫米 + cm - 厘米 + Distance - 距离 + @@ -1109,7 +1024,7 @@ Avg:%5, SD:%6 Cancel - 取消 + @@ -1195,16 +1110,12 @@ Avg:%5, SD:%6 Ruler - 直尺 + Arrow - 箭头 - - - Measurements - 测量工具 + @@ -1222,17 +1133,17 @@ Avg:%5, SD:%6 mm - 毫米 + OK - 确定 + Cancel - 取消 +