From ace08b9f44b171875233fc8dda32116c46bd14d8 Mon Sep 17 00:00:00 2001 From: xueyan hu <576627988@qq.com> Date: Fri, 24 Dec 2021 15:34:36 +0800 Subject: [PATCH] style improvement --- src/mainwindow.cpp | 98 +++--------- src/mainwindow.h | 2 +- src/network/networkcfgdialog.cpp | 3 + src/networkcfgdialog.ui | 45 +----- src/res.qrc | 77 ++++----- src/stylesheet/Dark.qss | 259 +++++++++++++++++++++++++++++++ src/translations/en_US.ts | 8 + src/translations/en_US.ts.bak | 8 + src/translations/zh_CN.qm | Bin 9355 -> 9462 bytes src/translations/zh_CN.ts | 62 ++++---- src/translations/zh_CN.ts.bak | 62 ++++---- 11 files changed, 401 insertions(+), 223 deletions(-) create mode 100644 src/stylesheet/Dark.qss diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2b47eb7..3b444c6 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -52,85 +52,8 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWindow) { - const QString style = "*{background-color:#3c3c3c; color:white;margin:0;font-size:16px;}" - "QTabBar::tab {\n" - "height:60px;" - "width:300px;" - "font-size: 25px;" - "background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\"\n" - "stop: 0 #333333, stop: 1.0 #555555);" - "border: 2px solid #505050;\n" - "border-bottom-left-radius: 50%;\n" - "border-bottom-right-radius: 50%;\n" - "min-width: 8ex;\n" - "padding: 2px;\n" - "}" - "QTabBar::tab:selected, QTabBar::tab:hover {" - "border-top:5px solid #4a88c7;\n" - "background: #505050;}" - "QTabWidget::pane{margin:0}" - "QLineEdit{min-height:36px;max-height:36px; border:1px solid silver}" - "QLineEdit:enabled{background-color: #515151}" - "QDateEdit{min-height:36px;max-height:36px; border:1px solid silver}" - "QDateEdit:enabled{background-color: #515151}" - //"QTextEdit{background-attachment: scroll; }" - "QTextEdit:enabled{background-color: #515151}" - "QComboBox{text-align:center;min-height:36px;max-height:36px; border:1px solid silver}" - "QComboBox:enabled{background-color: #515151}" - "QComboBox::drop-down{width:20px}" - "QComboBox QAbstractItemView{min-width:120px;}" - "QComboBox QAbstractItemView::item {min-height:60px;max-height:60px; border:1px solid white;}" - //"QScrollBar:vertical {min-width: 50px;}" - "QLabel{color:white; font-weight:bold; font-size:16px;}\n" - "QLabel#sliderPickerLabel{color:silver;padding:0;background:#505050;font-weight:normal;font-size:50px;}\n" - "QWidget#topbarWidget{min-height:36px;max-height:36px;}\n" - "QWidget#contentWidget{border-top:1px solid #515151;}\n" - "QWidget#commandWidget{min-height:123px;max-height:123px;border-top:1px solid #515151; border-bottom:1px solid #323232;}\n" - "QLabel#logo{min-width:30px;max-width:30px}\n" - "QLabel#company{min-width:150px;max-width:150px; }\n" - "QLabel#systemMsgBar{min-width:500px;}" - "QLabel#warn{color:#CCCC00;background:transparent;font-size:20px;}" - "QWidget QWidget#statusBarWidget{min-width:300px;}\n" - "QWidget QToolButton{border:none;border-radius:10%;font-size:26px; font-weight:Bold;padding:5px;}\n" - "QToolButton#btn_main{border:2px solid #0078d8;border-radius:10%;font-size:26px; font-weight:Bold;padding:5px;}\n" - "QWidget QToolButton:disabled{color:#606060 }\n" - "QWidget QToolButton:hover{background:#505050;}\n" - "QWidget QToolButton:checked{border:5px solid darkorange;padding:0px;}" - "QWidget#editcmdWidget{min-height:83px;max-height:83px;}" - "QWidget#verSpaceLine{ border-right:1px solid #0078d8;}" - "QWidget#topBottomLine{ border-top:2px solid #0078d8;border-bottom:2px solid #0078d8;background:transparent}" - //蒙版Dialog - "QDialog QWidget#innerWidget{ background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," - "stop: 0.0 darkgray, stop: 0.5 lightgray, stop: 1.0 darkgray);" - "border-radius:20px;border:5px solid #0078d8; }" - "QDialog#MessageDialog QWidget QWidget{ background:transparent;color:#3078d8}" - "QDialog#MessageDialog QWidget QWidget QLabel{ font-size:30px}" - "#spacer_1, #spacer_2{min-width:2px;max-width:2px;margin-top:6px;margin-bottom:6px;border-right:1px solid #0078d8;}" - //FormDialog - "QPushButton{border:1px solid silver ;padding-left:50px;padding-right:50px; border-radius:5px; min-height:28px; max-height:28px; background:#4c5052}" - "QPushButton#btnOK{background:#365880; font-weight:bold}" - "QDialog#formDialog{border:3px solid silver; border-radius:8px}" - "QWidget#slider_one{border:1px solid silver; border-radius:8px}" - "QWidget#formWidget QLabel#endline{border-bottom:1px solid silver}" - "QWidget#formWidget QLabel#title{font-size:30px; border-bottom:1px solid #3078d8 }" - "QListView{border:none;margin:5px; font-weight:bold}" - "QListView::item{background:#4c5052;min-height:30px; border:1px solid silver; border-radius:5px}" - "QListView::item:selected{background:#365880; font-weight:bold;color:white}" - "QHeaderView::section{background-color:#595959;" - "min-height:50px;max-height:50px;" - "font-weight:Bold; font-size:16px; border:1px solid #323232;}" - "QHeaderView::section:horizontal{border-bottom: 1px solid rgb(0,170,255);}" - "QHeaderView::section:vertical{min-height:36px;max-height:36px;}" - "QWidget#edit_patient{min-width:300px;max-width:300px;}" - "QTableView{border:none}" - "QTableView{alternate-background-color: #595959;selection-color:white;selection-background-color:#0078d8}" - "QToolButton#sexBtn{min-width:120px;max-width:120px;font-size:20px;padding:2px;}" - "QToolButton#sexBtn:disabled{color:silver}" - "QWidget#sexpanelwidget{border:1px solid silver;}" - "QWidget#sexpanelwidget:enabled{background-color: #515151;}" - "QToolButton#sexBtn:checked{border:2px solid darkorange;padding:0px;}" - ; - this->setStyleSheet(style); + + this->loadStyleSheet("Dark"); ui->setupUi(this); tab = new QTabWidget(this); tab->setTabPosition(QTabWidget::South); @@ -159,7 +82,7 @@ MainWindow::MainWindow(QWidget* parent) : //默认旧模式 if (!msgDialog) { msgDialog = new GUIMessageDialog(this); - msgDialog->setStyleSheet(style); + //msgDialog->setStyleSheet(style); } if (msg) { QString* str = (QString*)msg; @@ -273,6 +196,8 @@ MainWindow::MainWindow(QWidget* parent) : } + + MainWindow::~MainWindow() { delete ui; @@ -288,6 +213,19 @@ void MainWindow::changeEvent(QEvent* event) QWidget::changeEvent(event); } + +void MainWindow::loadStyleSheet(const QString& sheetName) +{ + QFile file(":/StyleSheet/" + sheetName + ".qss"); + file.open(QFile::ReadOnly); + if (file.isOpen()) + { + QString styleSheet = this->styleSheet(); + styleSheet += QLatin1String(file.readAll()); + this->setStyleSheet(styleSheet); + } +} + void MainWindow::centerWidgetHide() { ui->centralWidget->setVisible(false); } diff --git a/src/mainwindow.h b/src/mainwindow.h index b9c427a..946070f 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -32,7 +32,7 @@ protected: void changeEvent(QEvent* event); private: - + void loadStyleSheet(const QString& sheetName); cJSON* json_root = nullptr; Ui::MainWindow* ui; diff --git a/src/network/networkcfgdialog.cpp b/src/network/networkcfgdialog.cpp index 65e2c4d..6d27100 100644 --- a/src/network/networkcfgdialog.cpp +++ b/src/network/networkcfgdialog.cpp @@ -16,7 +16,10 @@ networkCfgDialog::networkCfgDialog(QWidget* parent) : ui(new Ui::networkCfgDialog) { ui->setupUi(this); + this->setObjectName("formDialog"); this->setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint); + ui->formWidget->setObjectName(QString::fromUtf8("formWidget")); + msgDialog = new GUIMessageDialog(this); msgDialog->hide(); diff --git a/src/networkcfgdialog.ui b/src/networkcfgdialog.ui index b957098..ac7f120 100644 --- a/src/networkcfgdialog.ui +++ b/src/networkcfgdialog.ui @@ -43,13 +43,7 @@ background: #505050;} - - - QFrame::StyledPanel - - - QFrame::Raised - + @@ -57,7 +51,7 @@ background: #505050;} true - 2 + 1 @@ -477,38 +471,5 @@ background: #505050;} - - - btn_group - accepted() - networkCfgDialog - accept() - - - 248 - 254 - - - 157 - 274 - - - - - btn_group - rejected() - networkCfgDialog - reject() - - - 316 - 260 - - - 286 - 274 - - - - + diff --git a/src/res.qrc b/src/res.qrc index 3315117..d4469e0 100644 --- a/src/res.qrc +++ b/src/res.qrc @@ -1,40 +1,41 @@ - - icons/add.png - icons/close_circle.png - icons/details.png - icons/selected.png - icons/logo.png - icons/rec.png - icons/refresh.png - icons/scan.png - icons/scan_e.png - icons/stop.png - icons/selected_d.png - icons/close_circle_d.png - icons/left.png - icons/right.png - icons/account.png - icons/setting.png - icons/link_g.png - icons/link_r.png - icons/ready.png - icons/lock.png - icons/msg.png - icons/patient.png - icons/female.png - icons/male.png - icons/female_d.png - icons/male_d.png - icons/login.png - fonts/DroidSansFallback.ttf - translations/en_US.qm - translations/zh_CN.qm - icons/imageswitch/btncheckoff1.png - icons/imageswitch/btncheckoff2.png - icons/imageswitch/btncheckoff3.png - icons/imageswitch/btncheckon1.png - icons/imageswitch/btncheckon2.png - icons/imageswitch/btncheckon3.png - + + icons/add.png + icons/close_circle.png + icons/details.png + icons/selected.png + icons/logo.png + icons/rec.png + icons/refresh.png + icons/scan.png + icons/scan_e.png + icons/stop.png + icons/selected_d.png + icons/close_circle_d.png + icons/left.png + icons/right.png + icons/account.png + icons/setting.png + icons/link_g.png + icons/link_r.png + icons/ready.png + icons/lock.png + icons/msg.png + icons/patient.png + icons/female.png + icons/male.png + icons/female_d.png + icons/male_d.png + icons/login.png + fonts/DroidSansFallback.ttf + translations/en_US.qm + translations/zh_CN.qm + icons/imageswitch/btncheckoff1.png + icons/imageswitch/btncheckoff2.png + icons/imageswitch/btncheckoff3.png + icons/imageswitch/btncheckon1.png + icons/imageswitch/btncheckon2.png + icons/imageswitch/btncheckon3.png + stylesheet/Dark.qss + diff --git a/src/stylesheet/Dark.qss b/src/stylesheet/Dark.qss new file mode 100644 index 0000000..3618e33 --- /dev/null +++ b/src/stylesheet/Dark.qss @@ -0,0 +1,259 @@ +*{ + background-color:#3c3c3c; + color:white; + margin:0; + font-size:16px; +} + +QTabBar::tab +{ + height:60px; + width:300px; + font-size: 25px; + background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\ + stop: 0 #333333, stop: 1.0 #555555); + border: 2px solid #505050; + border-bottom-left-radius: 50%; + border-bottom-right-radius: 50%; + min-width: 8ex; + padding: 2px; +} + +QTabBar::tab:selected, QTabBar::tab:hover +{ + border-top:5px solid #4a88c7; + background: #505050; +} + +QTabWidget::pane +{ + margin:0 +} + +QLineEdit +{ + min-height:36px; + max-height:36px; + border:1px solid silver +} + +QLineEdit:enabled +{ + background-color: #515151 +} + +QDateEdit +{ + min-height:36px;max-height:36px; border:1px solid silver +} + +QDateEdit:enabled +{ + background-color: #515151 +} + +/**QTextEdit +{background-attachment: scroll; +}**/ + +QTextEdit:enabled +{background-color: #515151 +} + +QComboBox +{text-align:center;min-height:36px;max-height:36px; border:1px solid silver +} + +QComboBox:enabled +{background-color: #515151 +} + +QComboBox::drop-down +{width:20px +} + +QComboBox QAbstractItemView +{min-width:120px; +} + +QComboBox QAbstractItemView::item +{min-height:60px;max-height:60px; border:1px solid white; +} + +//QScrollBar:vertical +{min-width: 50px; +} + +QLabel +{color:white; font-weight:bold; font-size:16px; +} + +QLabel#sliderPickerLabel +{color:silver;padding:0;background:#505050;font-weight:normal;font-size:50px; +} + +QWidget#topbarWidget +{min-height:36px;max-height:36px; +} + +QWidget#contentWidget +{border-top:1px solid #515151; +} + +QWidget#commandWidget +{min-height:123px;max-height:123px;border-top:1px solid #515151; border-bottom:1px solid #323232; +} + +QLabel#logo +{min-width:30px;max-width:30px +} + +QLabel#company +{min-width:150px;max-width:150px; +} + +QLabel#systemMsgBar +{min-width:500px; +} + +QLabel#warn +{color:#CCCC00;background:transparent;font-size:20px; +} + +QWidget QWidget#statusBarWidget +{min-width:300px; +} + +QWidget QToolButton +{border:none;border-radius:10%;font-size:26px; font-weight:Bold;padding:5px; +} + +QToolButton#btn_main +{border:2px solid #0078d8;border-radius:10%;font-size:26px; font-weight:Bold;padding:5px; +} + +QWidget QToolButton:disabled +{color:#606060 +} + +QWidget QToolButton:hover +{background:#505050; +} + +QWidget QToolButton:checked +{border:5px solid darkorange;padding:0px; +} + +QWidget#editcmdWidget +{min-height:83px;max-height:83px; +} + +QWidget#verSpaceLine +{ border-right:1px solid #0078d8; +} + +QWidget#topBottomLine +{ border-top:2px solid #0078d8;border-bottom:2px solid #0078d8;background:transparent +} + +//蒙版Dialog +QDialog QWidget#innerWidget +{ background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, +stop: 0.0 darkgray, stop: 0.5 lightgray, stop: 1.0 darkgray); +border-radius:20px;border:5px solid #0078d8; +} + +QDialog#MessageDialog QWidget QWidget +{ background:transparent;color:#3078d8 +} + +QDialog#MessageDialog QWidget QWidget QLabel +{ font-size:30px +} + +#spacer_1, #spacer_2 +{min-width:2px;max-width:2px;margin-top:6px;margin-bottom:6px;border-right:1px solid #0078d8; +} + +//FormDialog +QPushButton +{border:1px solid silver ;padding-left:50px;padding-right:50px; border-radius:5px; min-height:28px; max-height:28px; background:#4c5052 +} + +QPushButton#btnOK +{background:#365880; font-weight:bold +} + +QDialog#formDialog +{border:3px solid silver; border-radius:8px +} + +QWidget#slider_one +{border:1px solid silver; border-radius:8px +} + +QWidget#formWidget QLabel#endline +{border-bottom:1px solid silver +} + +QWidget#formWidget QLabel#title +{font-size:30px; border-bottom:1px solid #3078d8 +} + +QListView +{border:none;margin:5px; font-weight:bold +} + +QListView::item +{background:#4c5052;min-height:30px; border:1px solid silver; border-radius:5px +} + +QListView::item:selected +{background:#365880; font-weight:bold;color:white +} + +QHeaderView::section +{background-color:#595959; +min-height:50px;max-height:50px; +font-weight:Bold; font-size:16px; border:1px solid #323232; +} + +QHeaderView::section:horizontal +{border-bottom: 1px solid rgb(0,170,255); +} + +QHeaderView::section:vertical +{min-height:36px;max-height:36px; +} + +QWidget#edit_patient +{min-width:300px;max-width:300px; +} + +QTableView +{border:none +} + +QTableView +{alternate-background-color: #595959;selection-color:white;selection-background-color:#0078d8 +} + +QToolButton#sexBtn +{min-width:120px;max-width:120px;font-size:20px;padding:2px; +} + +QToolButton#sexBtn:disabled +{color:silver +} + +QWidget#sexpanelwidget +{border:1px solid silver; +} + +QWidget#sexpanelwidget:enabled +{background-color: #515151; +} + +QToolButton#sexBtn:checked +{border:2px solid darkorange;padding:0px; +} diff --git a/src/translations/en_US.ts b/src/translations/en_US.ts index 428d114..0d21815 100644 --- a/src/translations/en_US.ts +++ b/src/translations/en_US.ts @@ -461,6 +461,14 @@ parameters Scan Parameters + + LEFT + + + + RIGHT + + SelectFormWidget diff --git a/src/translations/en_US.ts.bak b/src/translations/en_US.ts.bak index 428d114..0d21815 100644 --- a/src/translations/en_US.ts.bak +++ b/src/translations/en_US.ts.bak @@ -461,6 +461,14 @@ parameters Scan Parameters + + LEFT + + + + RIGHT + + SelectFormWidget diff --git a/src/translations/zh_CN.qm b/src/translations/zh_CN.qm index f61df50c398a05347e1bd489cd026d46812a5064..2f449df72ae5acac31325bf1276d0476d1327330 100644 GIT binary patch delta 1059 zcmYk4ZERCz6vzL)eV(>=?fOEywrkm{A9zUy5|EKiBPiWmOXdh{MM7BOL?C8lX2L{> zt_}h^sc&3|0wWk48-azvI^tmZVF8ha;WRTFSQ8Bl+(_gLiqRPGU!E^~`rUKRbI&>d zbIzXlz4*tz_q`5RE!0LZ6lPXP0sK&~68=%DX4#lRND{5&95$M<1i z*+n397Pt}xg3Zu2+yPum6+}P?$o-?u z>rixcDu&O9;q27yCl$T@Vx;pX&t}rtrA3lSnd)B1(an_YMLZJE1I569va^l0ZKE9i z=o*`xEr);Lv1s4Qk;+CM$5lBV&eEdjUS)~9PqX@{W%a-l%=eFFZ*dt#7b!*ttch~L z{7!3XKssMn3^&`VdjF!lQQPqw6KudxbYHi9 zle)wmM)hUaerBPJUgz&(wn4pqt%Jvt(CcgGu+W6Q=~RFXCG?>v^LUE&;b$8tXt#bp zvKU_YYH}(w*&ky$Yc_D*z5~V?^UMVSlYRZ>R+`i8EtUMwbk5$kG|K*-v!Cpp$L+n~ zSkjVV-a*Iy@4jcfJw~pGn4U4_iirMZ?)z7Ucqvszg1#xENkj_Qx$Lb8>Nx27(MElF zU9NkULDKgs@Yuq1uXxg7#r<-zQ*`96x24FJ;^2(92V@rl(T{+f4j^(B@FD|<7z?5J zD_~CJjGO>=p8?uRPNkgF6WIaQa}Y4R<+L2(v<-49|2U%uA*GC`f|fzbtfB%NA!R24 zLJ_BNA7{)gNL!E5dl#frdjM-Ur`-;zX$@fC37wyWSXaZ8YQ+plXOQftKv7eXde%n{ zbCGrY302yHEZ+z@Rv~*^D&Sa-B?V+#ZmId2cu%jU`N#vnR;GFGuAo~*n6j;x(ykY- zG|1$ATWH^Pmt<`bdUv-2&N^Y>Gx;&E7@PEg`cx|>yw0P({t@q7vI6K4`!|SGq0SVr$-7O>=wb%1DPDegM5b(L&KLpcyK#2NKn4HsO6t?Za9S2? z-Ig1aJ*ZuFe=3dOoc3tad_d{qbgj|lXEKT(qVon%0O2{h(;LG855N!hL0yxVy6G6N zYbhm~N;#cl^$Xj6ki4M&+J}!+fXZokr+?^uPJssGoW3{I-Mw<5{VGL!EN@sz8y+(( zZzzbP_gnJDR)qu(%l-_CV@;3)>7^v7QXX-o!G^F!A-VmdAG1SN6w|oFj;l|_3DfP3 zhN8_iWJVY&a_OJuo}qqT2Icu|xZV~|(_3JiQ_)XCi;btAy#!p-)M)0?q^h%-OD+$s zec`9g_@)-oU7cFZT$5It4K?|sC diff --git a/src/translations/zh_CN.ts b/src/translations/zh_CN.ts index fffc150..5a20bd2 100644 --- a/src/translations/zh_CN.ts +++ b/src/translations/zh_CN.ts @@ -469,26 +469,26 @@ - - + + Select 选择 - - + + Scan 扫描 - - + + Verify 确认 - - + + Admin 管理 @@ -680,102 +680,102 @@ parameters networkCfgDialog - + Network Settings 网络配置 - + Address IP配置 - - + + IP Address IP地址 - + Dynamic Address 动态地址 - + Dev 设备 - + Subnet Mask 子网掩码 - + Additional Address 额外地址 - - + + Add 新增 - - + + Edit 编辑 - - + + Delete 删除 - + Routing 路由配置 - + Default IPv4 Gateway 默认网关 - + Routing Table 路由表 - + Result 结果 - + Netmask 子网掩码 - + Destination 目标地址 - + Gateway 网关 - + Apply 应用 - + Cancel 取消 diff --git a/src/translations/zh_CN.ts.bak b/src/translations/zh_CN.ts.bak index fffc150..5a20bd2 100644 --- a/src/translations/zh_CN.ts.bak +++ b/src/translations/zh_CN.ts.bak @@ -469,26 +469,26 @@ - - + + Select 选择 - - + + Scan 扫描 - - + + Verify 确认 - - + + Admin 管理 @@ -680,102 +680,102 @@ parameters networkCfgDialog - + Network Settings 网络配置 - + Address IP配置 - - + + IP Address IP地址 - + Dynamic Address 动态地址 - + Dev 设备 - + Subnet Mask 子网掩码 - + Additional Address 额外地址 - - + + Add 新增 - - + + Edit 编辑 - - + + Delete 删除 - + Routing 路由配置 - + Default IPv4 Gateway 默认网关 - + Routing Table 路由表 - + Result 结果 - + Netmask 子网掩码 - + Destination 目标地址 - + Gateway 网关 - + Apply 应用 - + Cancel 取消