This commit is contained in:
Krad
2021-10-09 16:38:34 +08:00
parent 2b8c18277d
commit e56d43ae97
41 changed files with 1023 additions and 0 deletions

8
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/

2
.idea/GUI.iml generated Normal file
View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<module classpath="CMake" type="CPP_MODULE" version="4" />

11
.idea/dataSources.xml generated Normal file
View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="SQLite - USCTDB.data" uuid="31f9a823-21aa-404c-ba7a-08e7471e73e5">
<driver-ref>sqlite.xerial</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>
<jdbc-url>jdbc:sqlite:$PROJECT_DIR$/../Database/USCTDB.data</jdbc-url>
</data-source>
</component>
</project>

7
.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/GUI.iml" filepath="$PROJECT_DIR$/.idea/GUI.iml" />
</modules>
</component>
</project>

24
CMakeLists.txt Normal file
View File

@@ -0,0 +1,24 @@
cmake_minimum_required(VERSION 2.8)
set(PROJECT_NAME GUI)
project(${PROJECT_NAME})
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
file(GLOB project_headers ./src/*.h)
file(GLOB project_cpps ./src/*.cpp)
file(GLOB project_cxx ./src/*.cxx)
file(GLOB project_cc ./src/*.cc)
include_directories(./src/)
find_package(Qt5 COMPONENTS Core Widgets Gui OpenGL REQUIRED)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
file(GLOB project_uis ./src/*.ui)
qt5_wrap_ui(ui_FILES ${project_uis})
file(GLOB project_res ./src/*.qrc)
add_executable(${PROJECT_NAME} ${project_headers} ${project_cpps} ${project_cxx} ${project_res} ${project_cc} ${ui_FILES})
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Widgets Qt5::Gui Qt5::OpenGL)
if(MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_ENVIRONMENT "path=${Qt5_DIR}/../../../bin/")
endif(MSVC)

88
src/ScanFormWidget.cpp Normal file
View File

@@ -0,0 +1,88 @@
//
// Created by Krad on 2021/10/8.
//
#include "ScanFormWidget.h"
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QToolButton>
#include "ui_tabformwidget.h"
#include "guimacros.h"
#include "patientinformationform.h"
#include <QButtonGroup>
ScanFormWidget::ScanFormWidget(QWidget *parent) : TabFormWidget(parent) {
const char* style="QWidget#PatientInformationForm{min-width:300px;max-width:300px; margin-right:10}"
"QWidget#patientinformation_panel{ border-right:1px solid #0078d8}"
"QWidget#patientinformation_panel QLabel{font-size:20px; }"
"QWidget#param_widget{min-width:300px;max-width:300px;border-left:1px solid #0078d8}"
"QWidget#broadcast_widget{border:2px solid #515151; border-radius: 20px}"
"QLabel#lbl_protocol{font-size:32px; margin:0; color:silver}"
"QLabel#lbl_title,QLabel#lbl_ptitle{font-size:20px;margin:0; border-bottom:1px solid silver}"
"QLabel#lbl_end{font-size:32px;margin:0; border-top:1px solid #0078d8}"
"";
this->setStyleSheet(this->styleSheet().append(style));
QHBoxLayout* layout =new QHBoxLayout();
ui->commandWidget->setLayout(layout);
QLabel* lbl_Protocol = new QLabel(this);
lbl_Protocol->setText("Protocol");
lbl_Protocol->setAlignment(Qt::AlignTop);
lbl_Protocol->setObjectName("lbl_protocol");
layout->addWidget(lbl_Protocol);
QWidget* spacerLine= new QWidget(this);
spacerLine->setFixedWidth(2);
spacerLine->setObjectName("verSpaceLine");
layout->addWidget(spacerLine);
ADD_TOOL_BTN(Left,":/icons/left.png");
ADD_TOOL_BTN(Right,":/icons/right.png");
QButtonGroup* group = new QButtonGroup(this);
// btnLeft->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
// btnLeft->setText("Left");
btnLeft->setCheckable(true);
btnLeft->setChecked(true);
// btnRight->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
// btnRight->setText("Right");
btnRight->setCheckable(true);
group->addButton(btnRight);
group->addButton(btnLeft);
layout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
QWidget* spacerLine2= new QWidget(this);
spacerLine2->setFixedWidth(2);
spacerLine2->setObjectName("verSpaceLine");
layout->addWidget(spacerLine2);
ADD_TOOL_BTN(Refresh,":/icons/scan_e.png");
ADD_TOOL_BTN(Preview,":/icons/rec.png");
ADD_TOOL_BTN(Stop,":/icons/stop.png");
ADD_TOOL_BTN(Scan,":/icons/scan.png");
QHBoxLayout* contentLayout =new QHBoxLayout();
this->ui->contentWidget->setLayout(contentLayout);
PatientInformationForm* patient_information= new PatientInformationForm(this);
contentLayout->addWidget(patient_information);
QWidget* param_widget= new QWidget(this);
QWidget* broadcast_widget = new QWidget(this);
broadcast_widget->setObjectName("broadcast_widget");
QLabel * viewer = new QLabel(broadcast_widget);
viewer->setText("");
QHBoxLayout* viewerLayout =new QHBoxLayout(viewer);
broadcast_widget->setLayout(viewerLayout);
viewerLayout->addWidget(viewer);
contentLayout->addWidget(broadcast_widget);
param_widget->setObjectName("param_widget");
QVBoxLayout* paramLayout =new QVBoxLayout(param_widget);
QLabel* lblParams = new QLabel(this);
lblParams->setText("Scan Parameters");
lblParams->setObjectName("lbl_title");
paramLayout->addWidget(lblParams);
paramLayout->addSpacerItem(new QSpacerItem(20,20,QSizePolicy::Minimum,QSizePolicy::Expanding));
contentLayout->addWidget(param_widget);
}
ScanFormWidget::~ScanFormWidget() {
}

17
src/ScanFormWidget.h Normal file
View File

@@ -0,0 +1,17 @@
//
// Created by Krad on 2021/10/8.
//
#ifndef GUI_SCANFORMWIDGET_H
#define GUI_SCANFORMWIDGET_H
#include "tabformwidget.h"
class ScanFormWidget :public TabFormWidget {
Q_OBJECT
public:
explicit ScanFormWidget(QWidget *parent = nullptr);
~ScanFormWidget();
};
#endif //GUI_SCANFORMWIDGET_H

85
src/SelectFormWidget.cpp Normal file
View File

@@ -0,0 +1,85 @@
//
// Created by Krad on 2021/10/8.
//
#include "ui_tabformwidget.h"
#include "SelectFormWidget.h"
#include <QHBoxLayout>
#include <QToolButton>
#include <QTableWidget>
#include <QHeaderView>
#include "editpatientform.h"
#include "guimacros.h"
SelectFormWidget::SelectFormWidget(QWidget *parent) :
TabFormWidget(parent)
{
const char* style="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;}"
// "QTableWidget{border:1px solid #323232}"
"QTableWidget{border:none}"
"QTableView{alternate-background-color: #595959;}"
;
this->setStyleSheet(this->styleSheet().append(style));
QHBoxLayout* layout =new QHBoxLayout();
ui->commandWidget->setLayout(layout);
ADD_TOOL_BTN(Account,":/icons/account.png");
ADD_TOOL_BTN(Setting,":/icons/setting.png");
layout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding));
QWidget* spacerLine= new QWidget(this);
spacerLine->setFixedWidth(2);
spacerLine->setObjectName("verSpaceLine");
layout->addWidget(spacerLine);
ADD_TOOL_BTN(Add,":/icons/add.png");
ADD_TOOL_BTN(Detail,":/icons/details.png");
ADD_TOOL_BTN(Delete,":/icons/close_circle.png");
ADD_TOOL_BTN(Select,":/icons/selected.png");
QHBoxLayout* contentLayout =new QHBoxLayout();
this->ui->contentWidget->setLayout(contentLayout);
QStringList header;
header<<"ID"<<"Name"<<"Sex"<<"DOB"<<"Status"<<"Comment";
QTableWidget* table= new QTableWidget(this);
table->setAlternatingRowColors(true);
table->setSelectionMode(QAbstractItemView::SingleSelection);
table->setSelectionBehavior(QAbstractItemView::SelectRows);
table->setColumnCount(6);
table->verticalHeader()->setDefaultSectionSize(38);
table->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
table->setHorizontalHeaderLabels(header);
table->setRowCount(3);
table->setItem(0,0,new QTableWidgetItem("Pat010012313"));
table->setItem(0,1,new QTableWidgetItem("XXX"));
table->setItem(0,2,new QTableWidgetItem("Female"));
table->setItem(0,3,new QTableWidgetItem("1978/09/06"));
table->setItem(0,4,new QTableWidgetItem("Added"));
table->setItem(0,5,new QTableWidgetItem(""));
table->setItem(1,0,new QTableWidgetItem("Pat0222222"));
table->setItem(1,1,new QTableWidgetItem("XXX2"));
table->setItem(1,2,new QTableWidgetItem("Female"));
table->setItem(1,3,new QTableWidgetItem("1993/08/16"));
table->setItem(1,4,new QTableWidgetItem("Scanned"));
table->setItem(1,5,new QTableWidgetItem(""));
table->setItem(2,0,new QTableWidgetItem("Pat3"));
table->setItem(2,1,new QTableWidgetItem("XX3"));
table->setItem(2,2,new QTableWidgetItem("Female"));
table->setItem(2,3,new QTableWidgetItem("1999/08/16"));
table->setItem(2,4,new QTableWidgetItem("Scanned"));
table->setItem(2,5,new QTableWidgetItem(""));
contentLayout->addWidget(table);
QWidget* spacerLine2= new QWidget(this);
spacerLine2->setFixedWidth(2);
spacerLine2->setObjectName("verSpaceLine");
contentLayout->addWidget(spacerLine2);
EditPatientForm* edit_patient= new EditPatientForm(this);
edit_patient->setObjectName("edit_patient");
contentLayout->addWidget(edit_patient);
}
SelectFormWidget::~SelectFormWidget()
{
}

18
src/SelectFormWidget.h Normal file
View File

@@ -0,0 +1,18 @@
//
// Created by Krad on 2021/10/8.
//
#ifndef GUI_SELECTFORMWIDGET_H
#define GUI_SELECTFORMWIDGET_H
#include "tabformwidget.h"
class SelectFormWidget: public TabFormWidget {
Q_OBJECT
public:
explicit SelectFormWidget(QWidget *parent = nullptr);
~SelectFormWidget();
};
#endif //GUI_SELECTFORMWIDGET_H

43
src/editpatientform.cpp Normal file
View File

@@ -0,0 +1,43 @@
#include "editpatientform.h"
#include "ui_editpatientform.h"
#include <QListView>
#include <QHBoxLayout>
#include <QToolButton>
#include "guimacros.h"
EditPatientForm::EditPatientForm(QWidget *parent) :
QWidget(parent),
ui(new Ui::EditPatientForm)
{
ui->setupUi(this);
QListView* sex_v = new QListView(ui->cb_Sex);
sex_v->setItemAlignment(Qt::AlignCenter);
ui->cb_Sex->setView(sex_v);
QListView* year_v = new QListView();
// year_v->setItemAlignment()
ui->cb_Year->setView(year_v);
for (int i = 1910;i<2022;i++)
{
ui->cb_Year->addItem(QString("%1").arg(i));
}
ui->cb_Month->setView(new QListView());
ui->cb_Day->setView(new QListView());
for (int i = 1;i<31;i++)
{
ui->cb_Day->addItem(QString("%1").arg(i));
}
QHBoxLayout* layout =new QHBoxLayout();
this->ui->editcmdWidget->setLayout(layout);
ADD_TOOL_BTN(Cancel,":/icons/close_circle.png");
ADD_TOOL_BTN(Accpet,":/icons/selected.png");
btnCancel->setEnabled(false);
btnCancel->setToolButtonStyle(Qt::ToolButtonIconOnly);
btnCancel->setIcon(QIcon(":/icons/close_circle_d.png"));
btnAccpet->setEnabled(false);
btnAccpet->setToolButtonStyle(Qt::ToolButtonIconOnly);
btnAccpet->setIcon(QIcon(":/icons/selected_d.png"));
}
EditPatientForm::~EditPatientForm()
{
delete ui;
}

22
src/editpatientform.h Normal file
View File

@@ -0,0 +1,22 @@
#ifndef EDITPATIENTFORM_H
#define EDITPATIENTFORM_H
#include <QWidget>
namespace Ui {
class EditPatientForm;
}
class EditPatientForm : public QWidget
{
Q_OBJECT
public:
explicit EditPatientForm(QWidget *parent = nullptr);
~EditPatientForm();
private:
Ui::EditPatientForm *ui;
};
#endif // EDITPATIENTFORM_H

220
src/editpatientform.ui Normal file
View File

@@ -0,0 +1,220 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>EditPatientForm</class>
<widget class="QWidget" name="EditPatientForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>466</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="lbl_ID">
<property name="text">
<string>ID</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit"/>
</item>
<item>
<widget class="QLabel" name="lbl_Name">
<property name="text">
<string>Name</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_2"/>
</item>
<item>
<widget class="QLabel" name="lbl_Sex">
<property name="text">
<string>Sex</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cb_Sex">
<property name="styleSheet">
<string notr="true">alignment:center</string>
</property>
<property name="currentIndex">
<number>1</number>
</property>
<property name="frame">
<bool>true</bool>
</property>
<item>
<property name="text">
<string>Male</string>
</property>
</item>
<item>
<property name="text">
<string>Female</string>
</property>
</item>
<item>
<property name="text">
<string>Other</string>
</property>
</item>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_DOB">
<property name="text">
<string>Date Of Birth</string>
</property>
</widget>
</item>
<item>
<widget class="QWidget" name="widget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>1</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QComboBox" name="cb_Year"/>
</item>
<item>
<widget class="QLabel" name="lbl_y">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cb_Month">
<item>
<property name="text">
<string>1</string>
</property>
</item>
<item>
<property name="text">
<string>2</string>
</property>
</item>
<item>
<property name="text">
<string>3</string>
</property>
</item>
<item>
<property name="text">
<string>4</string>
</property>
</item>
<item>
<property name="text">
<string>5</string>
</property>
</item>
<item>
<property name="text">
<string>6</string>
</property>
</item>
<item>
<property name="text">
<string>7</string>
</property>
</item>
<item>
<property name="text">
<string>8</string>
</property>
</item>
<item>
<property name="text">
<string>9</string>
</property>
</item>
<item>
<property name="text">
<string>10</string>
</property>
</item>
<item>
<property name="text">
<string>11</string>
</property>
</item>
<item>
<property name="text">
<string>12</string>
</property>
</item>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_m">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cb_Day"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_Comment">
<property name="text">
<string>Comment</string>
</property>
</widget>
</item>
<item>
<widget class="QTextEdit" name="textEdit"/>
</item>
<item>
<widget class="QWidget" name="editcmdWidget" native="true"/>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

19
src/guimacros.h Normal file
View File

@@ -0,0 +1,19 @@
//
// Created by Krad on 2021/10/8.
//
#ifndef GUI_GUIMACROS_H
#define GUI_GUIMACROS_H
#define ADD_TOOL_BTN_TO_LAYOUT(name,img,layout)\
QToolButton* btn##name= new QToolButton(this);\
btn##name->setToolButtonStyle(Qt::ToolButtonIconOnly);\
btn##name->setIcon(QIcon(img));\
btn##name->setIconSize(QSize(120,120));\
btn##name->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);\
btn##name->setText(#name);\
layout->addWidget(btn##name);
#define ADD_TOOL_BTN(name,img)\
ADD_TOOL_BTN_TO_LAYOUT(name,img,layout)
#endif //GUI_GUIMACROS_H

BIN
src/icons/account.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
src/icons/add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

BIN
src/icons/close_circle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

BIN
src/icons/details.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

BIN
src/icons/left.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

BIN
src/icons/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

BIN
src/icons/rec.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

BIN
src/icons/refresh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
src/icons/right.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
src/icons/scan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
src/icons/scan_e.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
src/icons/selected.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
src/icons/selected_d.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

BIN
src/icons/setting.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
src/icons/stop.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

11
src/main.cpp Normal file
View File

@@ -0,0 +1,11 @@
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}

76
src/mainwindow.cpp Normal file
View File

@@ -0,0 +1,76 @@
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <qtabwidget.h>
#include <QSizePolicy>
#include <QHBoxLayout>
#include "tabformwidget.h"
#include "SelectFormWidget.h"
#include "ScanFormWidget.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
const QString style = "*{background-color:#3c3c3c; font-family:Microsoft YaHei; 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-color: #323232; /* same as the pane color */\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}"
"QTextEdit{border:1px solid silver}"
"QComboBox{text-align:center;min-height:36px;max-height:36px; border:1px solid silver}"
"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"
"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 #323232; border-bottom:1px solid #323232;}\n"
"QLabel#logo{min-width:30px;max-width:30px}\n"
"QLabel#company{min-width:150px;max-width:150px}\n"
"QWidget QWidget#statusBarWidget{min-width:300px;max-width:300px}\n"
"QWidget QToolButton{border:none;border-radius:10%;font-size:26px; font-weight:Bold;padding:5px;}\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;}";
this->setStyleSheet(style);
ui->setupUi(this);
QTabWidget *tab = new QTabWidget(this);
tab->setTabPosition(QTabWidget::South);
tab->setContentsMargins(0,0,0,0);
// tab->layout()->setMargin(0);
SelectFormWidget* select_form= new SelectFormWidget(this);
tab->addTab(select_form, "Select");
ScanFormWidget* scan_form= new ScanFormWidget(this);
tab->addTab(scan_form, "Scan");
TabFormWidget* verify_form= new TabFormWidget(this);
tab->addTab(verify_form, "Verify");
tab->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
QHBoxLayout * layout = new QHBoxLayout();
layout->setMargin(0);
layout->addWidget(tab);
ui->centralWidget->setLayout(layout);
this->setWindowFlags (Qt::Window);
this->showFullScreen ();
}
MainWindow::~MainWindow()
{
delete ui;
}

22
src/mainwindow.h Normal file
View File

@@ -0,0 +1,22 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

21
src/mainwindow.ui Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralWidget"/>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>

View File

@@ -0,0 +1,14 @@
#include "patientinformationform.h"
#include "ui_patientinformationform.h"
PatientInformationForm::PatientInformationForm(QWidget *parent) :
QWidget(parent),
ui(new Ui::PatientInformationForm)
{
ui->setupUi(this);
}
PatientInformationForm::~PatientInformationForm()
{
delete ui;
}

View File

@@ -0,0 +1,22 @@
#ifndef PATIENTINFORMATIONFORM_H
#define PATIENTINFORMATIONFORM_H
#include <QWidget>
namespace Ui {
class PatientInformationForm;
}
class PatientInformationForm : public QWidget
{
Q_OBJECT
public:
explicit PatientInformationForm(QWidget *parent = nullptr);
~PatientInformationForm();
private:
Ui::PatientInformationForm *ui;
};
#endif // PATIENTINFORMATIONFORM_H

View File

@@ -0,0 +1,137 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PatientInformationForm</class>
<widget class="QWidget" name="PatientInformationForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="patientinformation_panel" native="true">
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>12</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="lbl_title">
<property name="text">
<string>Patient Information</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_ID">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;PatientID:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_Name">
<property name="text">
<string>Someone Somebody</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_Date">
<property name="text">
<string>2021/11/11</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_Sex">
<property name="text">
<string>Female</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_Acc">
<property name="text">
<string>Acc# 27812398</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblSpacer">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_end">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_ptitle">
<property name="text">
<string>Current Protocol</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lbl_Protocol">
<property name="text">
<string>LEFT ONLY</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>211</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

20
src/res.qrc Normal file
View File

@@ -0,0 +1,20 @@
<RCC>
<qresource prefix="/">
<file>icons/add.png</file>
<file>icons/close_circle.png</file>
<file>icons/details.png</file>
<file>icons/selected.png</file>
<file>icons/logo.png</file>
<file>icons/rec.png</file>
<file>icons/refresh.png</file>
<file>icons/scan.png</file>
<file>icons/scan_e.png</file>
<file>icons/stop.png</file>
<file>icons/selected_d.png</file>
<file>icons/close_circle_d.png</file>
<file>icons/left.png</file>
<file>icons/right.png</file>
<file>icons/account.png</file>
<file>icons/setting.png</file>
</qresource>
</RCC>

17
src/tabformwidget.cpp Normal file
View File

@@ -0,0 +1,17 @@
#include "tabformwidget.h"
#include "ui_tabformwidget.h"
TabFormWidget::TabFormWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::TabFormWidget)
{
ui->setupUi(this);
QPixmap img(":/icons/logo.png");
ui->logo->setPixmap(img.scaledToHeight(33,Qt::SmoothTransformation));
ui->company->setText(QString("浙江衡玖医疗科技"));
}
TabFormWidget::~TabFormWidget()
{
delete ui;
}

21
src/tabformwidget.h Normal file
View File

@@ -0,0 +1,21 @@
#ifndef TABFORMWIDGET_H
#define TABFORMWIDGET_H
#include <QWidget>
namespace Ui {
class TabFormWidget;
}
class TabFormWidget : public QWidget
{
Q_OBJECT
public:
explicit TabFormWidget(QWidget *parent = nullptr);
~TabFormWidget();
protected:
Ui::TabFormWidget *ui;
};
#endif // TABFORMWIDGET_H

90
src/tabformwidget.ui Normal file
View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>TabFormWidget</class>
<widget class="QWidget" name="TabFormWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>995</width>
<height>673</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="topbarWidget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="logo">
<property name="text">
<string>LOGO</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="company">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="systemMsgBar">
<property name="text">
<string>Message for DAQ and device.</string>
</property>
</widget>
</item>
<item>
<widget class="QWidget" name="statusBarWidget" native="true"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="contentWidget" native="true"/>
</item>
<item>
<widget class="QWidget" name="commandWidget" native="true"/>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>