Compare commits

...

42 Commits

Author SHA1 Message Date
eazzy 4851c06f8e 软件开发项目的个人自评报告-基于空地协同的伤情态势感知分析系统 .xlsx
9 months ago
eazzy 6ec31d81ef 完结
9 months ago
eazzy 2adc86f09e 最后的更新
9 months ago
eazzy 026345574c 最后的更新
9 months ago
eazzy 59e3f38985 汇报.pptx
9 months ago
eazzy 61e376d3de “基于空地协同的伤情态势感知分析系统”的分析和设计UML模型.docx
9 months ago
eazzy 7bfda4b2dd Merge branch 'master' of https://bdgit.educoder.net/m6wf5oeyl/Enjoy
9 months ago
eazzy 7c8dc38d87 update
9 months ago
ppxtgvny2 ff2669afcc Merge pull request '111111' (#18) from liqiushi_branch into master
9 months ago
eazzy c0a37d65cb 海报.png
9 months ago
eazzy 83a429e8be 报告和文档修改
9 months ago
eazzy 5bbfab6304 自评报告
9 months ago
eazzy 972a510703 UAVDatabase.cpp
9 months ago
m6wf5oeyl 00d55f5984 Merge pull request '视频和最终前端代码' (#15) from yangyizhe_branch into master
9 months ago
eazzy 5cd82a90e5 UI修改
9 months ago
eazzy 4cfd4849ed 视频
9 months ago
eazzy 6467848fc6 yolo改动
9 months ago
eazzy cc3bef23a2 颜色识别算法
9 months ago
eazzy 75e6794501 CasualtySightPlus
9 months ago
cys 47be7b57fa doc changes cy
9 months ago
cys 9b1df5d91c code changes cys
9 months ago
eazzy 76462e40a7 Yolo改动
9 months ago
m6wf5oeyl c29be1d4ff Merge pull request '团队报告' (#14) from yangyizhe_branch into master
9 months ago
eazzy 90fe260c3f 报告
9 months ago
eazzy 4b60f1b54b CasualtySightPlus
9 months ago
eazzy 70ef30f8e4 报告提交
9 months ago
eazzy aec5945172 团队报告以及个人报告
9 months ago
eazzy ac37479f6b 模型更新
9 months ago
eazzy 31f332c327 更新文档
9 months ago
eazzy 051e42d2cf CasualtySightPlus Client Commit
9 months ago
cys 01dfb92f68 output add
9 months ago
cys 393be7466c Merge branch 'master' of https://bdgit.educoder.net/m6wf5oeyl/Enjoy
9 months ago
cys 7d2d2732af socket add
9 months ago
m6wf5oeyl 72424e0792 Merge pull request '同步、客户端更新' (#9) from master into yangyizhe_branch
10 months ago
eazzy 76e0d31835 modify client2
10 months ago
eazzy afd92d1fc5 界面
10 months ago
eazzy a6693baa3e 客户端界面设计、卫星地图完成
10 months ago
ple93m5su 7850da49de 同意合并数据库相关代码
10 months ago
火车王 080537a240 数据库
10 months ago
ple93m5su f64e951f79 Merge pull request '主分支到张超群分支' (#7) from master into zhangchaoqun_branch
10 months ago
m6wf5oeyl 777197881b Merge pull request '机器狗代码' (#6) from liqiushi_branch into master
10 months ago
eazzy 79f98c0b56 yolo的代码
10 months ago

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

@ -0,0 +1,29 @@
.DS_Store
node_modules
/dist
/node_modules.zip
.vscode
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
public/server1.js
src/components/UploadClueTable.vue
src/utils/request.js
node_modules.zip

@ -0,0 +1,721 @@
/*
! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com
*/
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
box-sizing: border-box;
/* 1 */
border-width: 0;
/* 2 */
border-style: solid;
/* 2 */
border-color: #e5e7eb;
/* 2 */
}
::before,
::after {
--tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
line-height: 1.5;
/* 1 */
-webkit-text-size-adjust: 100%;
/* 2 */
-moz-tab-size: 4;
/* 3 */
-o-tab-size: 4;
tab-size: 4;
/* 3 */
font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
/* 4 */
font-feature-settings: normal;
/* 5 */
font-variation-settings: normal;
/* 6 */
-webkit-tap-highlight-color: transparent;
/* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
margin: 0;
/* 1 */
line-height: inherit;
/* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
height: 0;
/* 1 */
color: inherit;
/* 2 */
border-top-width: 1px;
/* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: inherit;
font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
color: inherit;
text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
/* 1 */
font-feature-settings: normal;
/* 2 */
font-variation-settings: normal;
/* 3 */
font-size: 1em;
/* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
text-indent: 0;
/* 1 */
border-color: inherit;
/* 2 */
border-collapse: collapse;
/* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit;
/* 1 */
font-feature-settings: inherit;
/* 1 */
font-variation-settings: inherit;
/* 1 */
font-size: 100%;
/* 1 */
font-weight: inherit;
/* 1 */
line-height: inherit;
/* 1 */
letter-spacing: inherit;
/* 1 */
color: inherit;
/* 1 */
margin: 0;
/* 2 */
padding: 0;
/* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
-webkit-appearance: button;
/* 1 */
background-color: transparent;
/* 2 */
background-image: none;
/* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
-webkit-appearance: textfield;
/* 1 */
outline-offset: -2px;
/* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
-webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button;
/* 1 */
font: inherit;
/* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
margin: 0;
}
fieldset {
margin: 0;
padding: 0;
}
legend {
padding: 0;
}
ol,
ul,
menu {
list-style: none;
margin: 0;
padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
opacity: 1;
/* 1 */
color: #9ca3af;
/* 2 */
}
input::placeholder,
textarea::placeholder {
opacity: 1;
/* 1 */
color: #9ca3af;
/* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
display: block;
/* 1 */
vertical-align: middle;
/* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
max-width: 100%;
height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden] {
display: none;
}
*, ::before, ::after {
--tw-border-spacing-x: 0;
--tw-border-spacing-y: 0;
--tw-translate-x: 0;
--tw-translate-y: 0;
--tw-rotate: 0;
--tw-skew-x: 0;
--tw-skew-y: 0;
--tw-scale-x: 1;
--tw-scale-y: 1;
--tw-pan-x: ;
--tw-pan-y: ;
--tw-pinch-zoom: ;
--tw-scroll-snap-strictness: proximity;
--tw-gradient-from-position: ;
--tw-gradient-via-position: ;
--tw-gradient-to-position: ;
--tw-ordinal: ;
--tw-slashed-zero: ;
--tw-numeric-figure: ;
--tw-numeric-spacing: ;
--tw-numeric-fraction: ;
--tw-ring-inset: ;
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-color: rgb(59 130 246 / 0.5);
--tw-ring-offset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--tw-shadow: 0 0 #0000;
--tw-shadow-colored: 0 0 #0000;
--tw-blur: ;
--tw-brightness: ;
--tw-contrast: ;
--tw-grayscale: ;
--tw-hue-rotate: ;
--tw-invert: ;
--tw-saturate: ;
--tw-sepia: ;
--tw-drop-shadow: ;
--tw-backdrop-blur: ;
--tw-backdrop-brightness: ;
--tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ;
--tw-backdrop-opacity: ;
--tw-backdrop-saturate: ;
--tw-backdrop-sepia: ;
--tw-contain-size: ;
--tw-contain-layout: ;
--tw-contain-paint: ;
--tw-contain-style: ;
}
::backdrop {
--tw-border-spacing-x: 0;
--tw-border-spacing-y: 0;
--tw-translate-x: 0;
--tw-translate-y: 0;
--tw-rotate: 0;
--tw-skew-x: 0;
--tw-skew-y: 0;
--tw-scale-x: 1;
--tw-scale-y: 1;
--tw-pan-x: ;
--tw-pan-y: ;
--tw-pinch-zoom: ;
--tw-scroll-snap-strictness: proximity;
--tw-gradient-from-position: ;
--tw-gradient-via-position: ;
--tw-gradient-to-position: ;
--tw-ordinal: ;
--tw-slashed-zero: ;
--tw-numeric-figure: ;
--tw-numeric-spacing: ;
--tw-numeric-fraction: ;
--tw-ring-inset: ;
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-color: rgb(59 130 246 / 0.5);
--tw-ring-offset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--tw-shadow: 0 0 #0000;
--tw-shadow-colored: 0 0 #0000;
--tw-blur: ;
--tw-brightness: ;
--tw-contrast: ;
--tw-grayscale: ;
--tw-hue-rotate: ;
--tw-invert: ;
--tw-saturate: ;
--tw-sepia: ;
--tw-drop-shadow: ;
--tw-backdrop-blur: ;
--tw-backdrop-brightness: ;
--tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ;
--tw-backdrop-opacity: ;
--tw-backdrop-saturate: ;
--tw-backdrop-sepia: ;
--tw-contain-size: ;
--tw-contain-layout: ;
--tw-contain-paint: ;
--tw-contain-style: ;
}
.container {
width: 100%;
}
@media (min-width: 640px) {
.container {
max-width: 640px;
}
}
@media (min-width: 768px) {
.container {
max-width: 768px;
}
}
@media (min-width: 1024px) {
.container {
max-width: 1024px;
}
}
@media (min-width: 1280px) {
.container {
max-width: 1280px;
}
}
@media (min-width: 1536px) {
.container {
max-width: 1536px;
}
}
.absolute {
position: absolute;
}
.order-first {
order: -9999;
}
.mx-auto {
margin-left: auto;
margin-right: auto;
}
.block {
display: block;
}
.flex {
display: flex;
}
.grid {
display: grid;
}
.max-w-7xl {
max-width: 80rem;
}
.max-w-xs {
max-width: 20rem;
}
.grid-cols-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-col {
flex-direction: column;
}
.gap-x-8 {
-moz-column-gap: 2rem;
column-gap: 2rem;
}
.gap-y-16 {
row-gap: 4rem;
}
.gap-y-4 {
row-gap: 1rem;
}
.border {
border-width: 1px;
}
.bg-white {
--tw-bg-opacity: 1;
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.px-6 {
padding-left: 1.5rem;
padding-right: 1.5rem;
}
.py-24 {
padding-top: 6rem;
padding-bottom: 6rem;
}
.text-center {
text-align: center;
}
.text-3xl {
font-size: 1.875rem;
line-height: 2.25rem;
}
.text-base {
font-size: 1rem;
line-height: 1.5rem;
}
.font-semibold {
font-weight: 600;
}
.leading-7 {
line-height: 1.75rem;
}
.tracking-tight {
letter-spacing: -0.025em;
}
.text-gray-600 {
--tw-text-opacity: 1;
color: rgb(75 85 99 / var(--tw-text-opacity));
}
.text-gray-900 {
--tw-text-opacity: 1;
color: rgb(17 24 39 / var(--tw-text-opacity));
}
@media (min-width: 640px) {
.sm\:py-32 {
padding-top: 8rem;
padding-bottom: 8rem;
}
.sm\:text-5xl {
font-size: 3rem;
line-height: 1;
}
}
@media (min-width: 1024px) {
.lg\:grid-cols-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.lg\:px-8 {
padding-left: 2rem;
padding-right: 2rem;
}
}

@ -0,0 +1,76 @@
QT += core gui
QT += core gui quickwidgets positioning location
QT += multimedia
QT += multimediawidgets
QT += webenginewidgets webchannel
QT += sql
QT += network
QMAKE_PROJECT_DEPTH = 0
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++17
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
# UI
UIs/sourcefiles/InjuryAnalysisUI.cpp \
UIs/sourcefiles/guidingui.cpp \
UIs/sourcefiles/robotui.cpp \
UIs/sourcefiles/robotlistui.cpp \
UIs/sourcefiles/uavui.cpp \
UIs/sourcefiles/uavlist.cpp \
UIs/sourcefiles/injurydisplayui.cpp \
UIs/sourcefiles/singlecasualtyinfo.cpp \
# database
database/sourcefiles/DogDatabase.cpp \
database/sourcefiles/InjuryDatabase.cpp \
database/sourcefiles/UAVDatabase.cpp \
# main
main.cpp \
HEADERS += \
# UI
UIs/headfiles/InjuryAnalysisUI.h \
UIs/headfiles/guidingui.h \
UIs/headfiles/robotui.h \
UIs/headfiles/robotlistui.h \
UIs/headfiles/uavui.h \
UIs/headfiles/uavlist.h \
UIs/headfiles/injurydisplayui.h \
UIs/headfiles/singlecasualtyinfo.h \
# databaes
database/headfiles/DogDatabase.h \
database/headfiles/InjuryDatabase.h \
database/headfiles/UAVDatabase.h \
FORMS += \
UIs/ui/InjuryAnalysisUI.ui \
UIs/ui/guidingui.ui \
UIs/ui/robotui.ui \
UIs/ui/robotlistui.ui \
UIs/ui/singlecasualtyinfo.ui \
UIs/ui/uavui.ui \
UIs/ui/uavlist.ui \
UIs/ui/injurydisplayui.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
RESOURCES += \
res.qrc
DISTFILES += \
res/icon/icons_robotUI/SLAMBtn (2).svg \
res/icon/icons_robotUI/autoModeBtn (2).svg \
res/icon/icons_robotUI/manualModeBtn.svg \
res/icon/icons_robotUI/micBtn (2).svg \
res/icon/icons_robotUI/pauseBtn.svg \
res/icon/icons_robotUI/robotCoordsBtn (2).svg \
res/icon/icons_robotUI/startBtn.svg \
res/icon/icons_robotUI/stopBtn.svg \
res/icon/icons_robotUI/vidBtn (2).svg

@ -0,0 +1,36 @@
#ifndef INJURYANALYSISUI_H
#define INJURYANALYSISUI_H
#include "../../database/headfiles/InjuryDatabase.h"
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui {
class InjuryAnalysisUI; //声明ui命名空间下的类
}
QT_END_NAMESPACE
class InjuryAnalysisUI : public QWidget
{
// Q_OBJECT宏用于提供Qt信号槽和元对象系统服务
// 它必须限定为私有访问权限
Q_OBJECT
public:
InjuryAnalysisUI(QWidget *parent = nullptr);
~InjuryAnalysisUI();
QList<Injury> result;
private slots:
void on_searchButton_clicked();
private:
// 创建Ui::InjuryAnalysisUI类型的指针用于操作ui界面及其控件
Ui::InjuryAnalysisUI *ui;
};
#endif // INJURYANALYSISUI_H

@ -0,0 +1,70 @@
#ifndef GUIDINGUI_H
#define GUIDINGUI_H
#include <QMainWindow>
#include <QPushButton>
#include <QLabel>
#include <QDialog>
#include <QLineEdit>
#include <string>
#include <QTableWidget>
#include <cstring>
#include <QQuickItem>
#include <QFormLayout>
#include <QStackedWidget>
/* 显示机器人列表界面的头文件 */
#include "robotlistui.h"
#include "ui_robotlistui.h"
/* 显示无人机列表界面的头文件 */
#include "uavlist.h"
#include "ui_uavlist.h"
/* 显示伤情界面的头文件 */
#include "injurydisplayui.h"
#include "ui_injurydisplayui.h"
QT_BEGIN_NAMESPACE
namespace Ui {
class GuidingUI;
}
QT_END_NAMESPACE
class GuidingUI : public QMainWindow
{
Q_OBJECT
public:
GuidingUI(QWidget *parent = nullptr);
~GuidingUI();
// 功能界面地图显示控制
void MapDisplayControl(QPushButton*,QWidget*,QGridLayout*);
// 添加机器人按钮槽函数
void on_robottab_clicked();
// 功能界面显示机器人列表按钮控制
void RobotsInfosControl(QPushButton*);
// 无人机列表显示按钮槽函数
void on_UAVListBtn_clicked();
// 功能界面显示无人机列表按钮控制
void UAVInfosControl(QPushButton*);
// 伤情显示界面按钮控制
void InjuryInfoControl(QPushButton*);
// 伤情显示界面按钮槽函数
void on_showInjuryInfo_clicked();
private:
// 界面
Ui::GuidingUI *ui;
// 栈组件用于显示地图和不显示地图时的展示
QStackedWidget *stackedWidget;
// 用于存放背景
QWidget *backgroundWidget;
// 背景图片存放的具体位置
QLabel *backgroundLabel;
signals:
};
#endif // GUIDINGUI_H

@ -0,0 +1,24 @@
#ifndef INJURYDISIPLAYUI_H
#define INJURYDISIPLAYUI_H
#include <QDialog>
#include <QWebEngineView>
#include <QtWebChannel>
namespace Ui {
class InjuryDisiplayUI;
}
class InjuryDisiplayUI : public QDialog
{
Q_OBJECT
public:
explicit InjuryDisiplayUI(QWidget *parent = nullptr);
~InjuryDisiplayUI();
private:
Ui::InjuryDisiplayUI *ui;
};
#endif // INJURYDISIPLAYUI_H

@ -0,0 +1,37 @@
#ifndef INJURYDISPLAYUI_H
#define INJURYDISPLAYUI_H
#include <QMainWindow>
/* 有关伤员数据库头文件 */
#include "../../database/headfiles/InjuryDatabase.h"
/* 有关列表列卡阴影效果头文件 */
#include <QGraphicsDropShadowEffect>
/* 有关伤员伤情具体细节显示的头文件 */
#include "singlecasualtyinfo.h"
namespace Ui {
class InjuryDisplayUI;
}
class InjuryDisplayUI : public QMainWindow
{
Q_OBJECT
public:
explicit InjuryDisplayUI(QWidget *parent = nullptr);
~InjuryDisplayUI();
/* 伤员信息展示 */
void InjuryDisplay();
/* 控制按钮详情按钮跳转槽函数 */
void on_detailBtn_clicked();
/* 控制按钮详情跳转槽函数 */
void SingleCasualtyDisplay();
private:
// 界面指针
Ui::InjuryDisplayUI *ui;
// 伤员列表
QList<Injury> casualtyList;
// 数据库
InjuryDatabase *db;
};
#endif // INJURYDISPLAYUI_H

@ -0,0 +1,39 @@
#ifndef ROBOTLISTUI_H
#define ROBOTLISTUI_H
#include <QMainWindow>
#include <QPushButton>
#include <QStandardItemModel>
#include <QTableView>
#include "../../database/headfiles/DogDatabase.h"
/* 这里是机器狗界面的头文件 */
#include "robotui.h"
/* 设置自定义委托类的头文件 */
#include <QStyledItemDelegate>
#include <QPainter>
namespace Ui {
class robotlistUI;
}
class robotlistUI : public QMainWindow
{
Q_OBJECT
public:
explicit robotlistUI(QWidget *parent = nullptr);
~robotlistUI();
DogDatabase *db; // 数据库操作类的实例
QStandardItemModel *model;
void setupModel();
void setupTableView();
QPushButton* createButton(const QString &text, const QString &robotId);
private:
Ui::robotlistUI *ui;
private slots:
void handleButtonClicked(const QString &robotId);
};
#endif // ROBOTLISTUI_H

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

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

@ -0,0 +1,38 @@
#ifndef UAVLIST_H
#define UAVLIST_H
#include <QMainWindow>
#include <QPushButton>
#include <QStandardItemModel>
#include <QTableView>
#include "../../database/headfiles/UAVDatabase.h"
#include <QStyledItemDelegate>
// 无人机界面的头文件
#include "uavui.h"
#include <QPainter>
namespace Ui {
class UAVList;
}
class UAVList : public QMainWindow
{
Q_OBJECT
public:
explicit UAVList(QWidget *parent = nullptr);
~UAVList();
UAVDatabase *db; // 数据库操作类的实例
QStandardItemModel *model;
void setupModel();
void setupTableView();
QPushButton* createButton(const QString &text, const QString &robotId);
private:
Ui::UAVList *ui;
private slots:
void handleButtonClicked(const QString &UAVID);
};
#endif // UAVLIST_H

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

@ -0,0 +1,116 @@
#include "../headfiles/InjuryAnalysisUI.h"
#include "../../database/headfiles/InjuryDatabase.h"
#include "ui_InjuryAnalysisUI.h"
#include <QMessageBox>
#include <QWidget>
InjuryAnalysisUI::InjuryAnalysisUI(QWidget* parent):
QWidget(parent),
ui(new Ui::InjuryAnalysisUI)
{
ui->setupUi(this);
setWindowTitle("伤情态势分析界面");
//resize(600,400);
InjuryDatabase injurydatabase;
QList<Injury> resultNow;
injurydatabase.select_all(resultNow);//获取所有伤员数据
result = resultNow;
//添加一个scrollArea来将信息显示出来
ui->scrollArea->setWidgetResizable(false);//可以拖动滚动条
//竖滚动条和横滚动条都可以一直显示
ui->scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
ui->scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
//设置主界面的实际界面
ui->scrollArea->setWidget(ui->scrollAreaWidgetContents);
ui->scrollAreaWidgetContents->setGeometry(0, 0, 381, result.length()*20);//实际界面参数
QLabel *label0=new QLabel(ui->scrollAreaWidgetContents);
label0->setText("伤员编号");
label0->move(0,0);
QLabel *label1=new QLabel(ui->scrollAreaWidgetContents);
label1->setText("伤情等级");
label1->move(100,0);
QLabel *label2=new QLabel(ui->scrollAreaWidgetContents);
label2->setText("位置精度");
label2->move(200,0);
QLabel *label3=new QLabel(ui->scrollAreaWidgetContents);
label3->setText("位置维度");
label3->move(300,0);
for(int i = 0; i<result.length(); i++)
{
QLabel *labelID=new QLabel(ui->scrollAreaWidgetContents);
labelID->setText(result[i].id);
labelID->move(0,15*(i+2));
QLabel *labelRank=new QLabel(ui->scrollAreaWidgetContents);
labelRank->setText(QString::number(result[i].rank));
labelRank->move(100,15*(i+2));
QLabel *labelLon=new QLabel(ui->scrollAreaWidgetContents);
labelLon->setText(QString::number(result[i].lon));
labelLon->move(200,15*(i+2));
QLabel *labelLat=new QLabel(ui->scrollAreaWidgetContents);
labelLat->setText(QString::number(result[i].lat));
labelLat->move(300,15*(i+2));
}
//对信息进行分类统计分析
int sum = result.length();
ui->sumLabel->setText(QString::number(sum));
int rank0Sum = 0;
int rank1Sum = 0;
int rank2Sum = 0;
for(int i = 0; i<sum; i++)
{
if(result[i].rank==0)
rank0Sum++;
else if(result[i].rank==1)
rank1Sum++;
else if(result[i].rank==2)
rank2Sum++;
}
ui->rank0Label->setText(QString::number(rank0Sum));
ui->rank1Label->setText(QString::number(rank1Sum));
ui->rank2Label->setText(QString::number(rank2Sum));
}
InjuryAnalysisUI::~InjuryAnalysisUI()
{
delete ui;
}
void InjuryAnalysisUI::on_searchButton_clicked()
{
QString userInput = ui->searchInput->text();
int searchIndex = -1;
if(!userInput.isEmpty())
{
for(int i = 0; i<result.length(); i++)
{
if(QString::compare(userInput,result[i].id)==0)
{
searchIndex = i;
break;
}
}
}
QString rank = QString::number(result[searchIndex].rank);
QString lon = QString::number(result[searchIndex].lon);
QString lat = QString::number(result[searchIndex].lat);
if(searchIndex==-1)
{
QMessageBox::warning(this, tr("查找"), tr("找不到id为 %1 的伤员!").arg(userInput));
}
else
{
QMessageBox::warning(this, tr("查找"), tr("伤员id%1 伤情等级:%2 位置经纬度:%3 %4 ").arg(userInput,rank,lon,lat));
}
}

@ -0,0 +1,189 @@
#include "../headfiles/guidingui.h"
#include "ui_guidingui.h"
#include "../headfiles/InjuryAnalysisUI.h"
#include "../../database/headfiles/InjuryDatabase.h"
#include "../../database/headfiles/DogDatabase.h"
#include <QWebEngineView>
#include <QString>
#include <QVBoxLayout>
#include <QDir>
#include <QUrl>
#include <QWebEnginePage>
GuidingUI::GuidingUI(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::GuidingUI)
{
ui->setupUi(this);
/* 控制地图显示 */
MapDisplayControl(ui->mapbutton,ui->MapDisplayer,ui->gridLayout_3);
/* 控制机器人列表 */
RobotsInfosControl(ui->robotListBtn);
/* 控制无人机列表*/
UAVInfosControl(ui->UAVListBtn);
/* 控制伤情显示 */
InjuryInfoControl(ui->casualtyInfoBtn);
}
GuidingUI::~GuidingUI()
{
delete ui;
delete stackedWidget;
delete backgroundLabel;
delete backgroundWidget;
}
void GuidingUI::MapDisplayControl(QPushButton *btnCtr,QWidget*Tar,QGridLayout*layout)
{
// 创建堆栈部件
stackedWidget = new QStackedWidget(this);
// 创建背景板部件
backgroundWidget = new QWidget(this);
QPixmap backgroundPixmap(":/image/res/image/mapdisplayer.svg");
backgroundLabel = new QLabel(backgroundWidget);
backgroundLabel->setPixmap(backgroundPixmap);
// 设置堆栈部件的组成
backgroundLabel->setMaximumSize(1500,900); // 背景板的最大尺寸
backgroundLabel->setMinimumSize(500,300); // 背景板的最小尺寸
// 设置QLabel的缩放模式为拉伸填充
backgroundLabel->setScaledContents(true);
// 设置地图部件的尺寸
Tar->setMaximumSize(1500,900); // 地图部件的最大尺寸
Tar->setMinimumSize(500,300); // 地图部件的最小尺寸
stackedWidget->addWidget(Tar);
stackedWidget->addWidget(backgroundLabel);
stackedWidget->setCurrentIndex(1);
connect(btnCtr,&QPushButton::clicked,this,[=](){
if(stackedWidget->currentIndex() == 0)
stackedWidget->setCurrentIndex(1);
else
stackedWidget->setCurrentIndex(0);
});
// 将堆栈部件添加到布局当中
layout->addWidget(stackedWidget);
QWebEngineView* view = new QWebEngineView(ui->MapDisplayer);
// 设置HTML文件的路径这里使用资源文件系统
QUrl url = QUrl("qrc:/html/res/html/map.html");
view->load(url);
// 用来存放伤员查询的结果
QList<Injury> result;
// 伤员信息数据库对象
InjuryDatabase injuryinfo;
// 用于存放数据库当中返回的伤员
injuryinfo.select_all(result);
// 连接loadFinished信号来确认页面是否加载成功并在加载成功后调用addMarker函数
connect(view, &QWebEngineView::loadFinished, [view,result]() {
// 假设我们要添加的坐标和等级
qint16 minorCount = 0;
qint16 moderateCount = 0;
qint16 severeCount = 0;
for(int i=0;i<result.length();i++)
{
double latitude = result[i].lat;
double longitude = result[i].lon;
int level = result[i].rank;
if (level == 0) {
minorCount++;
}
else if (level == 1) {
moderateCount++;
}
else if (level == 2) {
severeCount++;
}
// 调用JavaScript函数传递参数
view->page()->runJavaScript(QString("addMarker(%1, %2, %3)").arg(latitude).arg(longitude).arg(level), [](const QVariant &result) {
// 这里可以处理JavaScript函数执行后的结果
});
}
view->page()->runJavaScript(QString("updateStatistics(%1, %2, %3)").arg(severeCount).arg(moderateCount).arg(minorCount));
});
// 由于 MapDisplayer 已经在 UI 布局中,我们不需要创建新的布局
// 直接将 QWebEngineView 添加到 MapDisplayer 中
QVBoxLayout *layout1 = qobject_cast<QVBoxLayout*>(ui->MapDisplayer->layout());
if (layout1) {
layout1->addWidget(view);
} else {
// 如果 MapDisplayer 没有布局,则创建一个并添加 QWebEngineView
QVBoxLayout *newLayout = new QVBoxLayout(ui->MapDisplayer);
newLayout->addWidget(view);
ui->MapDisplayer->setLayout(newLayout);
}
}
/**
* @brief
* @date 202466
* @author yyz
* @param null
* @details ,
*/
void GuidingUI::on_robottab_clicked()
{
robotlistUI *rbtList = new robotlistUI(this);
rbtList->show();
}
void GuidingUI::RobotsInfosControl(QPushButton* btnCtr)
{
connect(btnCtr,&QPushButton::clicked,this,&GuidingUI::on_robottab_clicked);
}
void GuidingUI::on_showInjuryInfo_clicked()
{
InjuryDisplayUI *injuryDisplay = new InjuryDisplayUI(this);
injuryDisplay->show();
}
/**
* @brief
* @date 2024610
* @author yyz
*/
void GuidingUI::on_UAVListBtn_clicked()
{
UAVList* uavList = new UAVList(this);
uavList->show();
}
/**
* @brief
* @date 2024610
* @author yyz
* @param ctrBtn:
*/
void GuidingUI::UAVInfosControl(QPushButton* btnCtr)
{
connect(btnCtr,&QPushButton::clicked,this,&GuidingUI::on_UAVListBtn_clicked);
}
/**
* @brief
* @date 2024618
* @author yyz
* @param ctrBtn:
*/
void GuidingUI::InjuryInfoControl(QPushButton* btnCtr)
{
connect(btnCtr,&QPushButton::clicked,this,&GuidingUI::on_showInjuryInfo_clicked);
}

@ -0,0 +1,55 @@
#include "../headfiles/injurydisiplayui.h"
#include "ui_injurydisiplayui.h"
#include "../../database/headfiles/InjuryDatabase.h"
#include "../headfiles/guidingui.h"
#include <QWebEngineView>
#include <QString>
#include <QVBoxLayout>
#include <QDir>
#include <QUrl>
#include <QWebEnginePage>
InjuryDisiplayUI::InjuryDisiplayUI(QWidget *parent)
: QDialog(parent)
, ui(new Ui::InjuryDisiplayUI)
{
ui->setupUi(this);
// 创建QWebEngineView实例
QWebEngineView *view = new QWebEngineView(this);
// 设置HTML文件的路径这里使用资源文件系统
QUrl url = QUrl("qrc:/html/res/html/map.html");
view->load(url);
// 连接loadFinished信号来确认页面是否加载成功并在加载成功后调用addMarker函数
connect(view, &QWebEngineView::loadFinished, [view]() {
// 假设我们要添加的坐标和等级
QList<Injury> result;
InjuryDatabase injuryinfo;
injuryinfo.select_all(result);
for(int i=0;i<result.length();i++)
{
double latitude = result[i].lat;
double longitude = result[i].lon;
int level = result[i].rank;
// 调用JavaScript函数传递参数
view->page()->runJavaScript(QString("addMarker(%1, %2, %3)").arg(latitude).arg(longitude).arg(level), [](const QVariant &result) {
// 这里可以处理JavaScript函数执行后的结果
});
}
});
// 创建布局并添加QWebEngineView
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(view);
// 设置布局
setLayout(layout);
}
InjuryDisiplayUI::~InjuryDisiplayUI()
{
delete ui;
}

@ -0,0 +1,123 @@
#include "../headfiles/injurydisplayui.h"
#include "ui_injurydisplayui.h"
// 单页面最大显示数
constexpr int MAX_DISPLAY_NUM = 10;
InjuryDisplayUI::InjuryDisplayUI(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::InjuryDisplayUI)
, db(new InjuryDatabase)
{
ui->setupUi(this);
/* 提取伤员信息 */
db->select_all(casualtyList);
/* 显示伤员信息 */
InjuryDisplay();
/* 控制详情按钮跳转 */
SingleCasualtyDisplay();
}
InjuryDisplayUI::~InjuryDisplayUI()
{
delete ui;
}
/**
* @brief
* @date 202472
* @author yyz
*/
void InjuryDisplayUI::InjuryDisplay()
{
/* 所有的显示框 */
const auto children = ui->ListWidget->children();
/* 存储单个显示框 */
QWidget* tableItem;
/* 用于存储伤员属性 */
QLabel* label_index, *label_level, *label_coords;
qint16 rank; // 存放伤员伤情等级以供判定
QString unitLat, unitLon; // 存放经纬度单位
/* 如果有伤员 */
if(casualtyList.size() > 0)
{
/* 从1开始是应为ListWidget的子部件第一个是布局而非显示框 */
for(int i = 1; i < children.size() && i <= 10 && i <= casualtyList.size(); ++i)
{
const auto children_labels = children[i]->children();
/* 把一名伤员的属性索引到这几个位置上 */
label_index = qobject_cast<QLabel*>(children_labels[1]);
label_level = qobject_cast<QLabel*>(children_labels[2]);
label_coords = qobject_cast<QLabel*>(children_labels[3]);
/* 设置对应的文本 */
label_index->setText(casualtyList[i - 1].id);
/* 根据伤情的等级rank判定level*/
rank = casualtyList[i - 1].rank;
if(rank == 2) // 严重
{
label_level->setText(QString("严重"));
label_level->setStyleSheet("QLabel{"
"color: #FF5733"
" }");
}
else if(rank == 1)
{
label_level->setText(QString("中等"));
label_level->setStyleSheet("QLabel{"
"color: #FFEB3B"
" }");
}
else if(rank == 0)
{
label_level->setText(QString("轻微"));
label_level->setStyleSheet("QLabel{"
"color: #A5D63F"
" }");
}
// label_level->setText(QString::number(casualtyList[i - 1].rank));
/* 格式化地理坐标 */
unitLat = casualtyList[i - 1].lat >= 0 ? "N, " : "S, ";
unitLon = casualtyList[i - 1].lon >= 0 ? "E )" : "W )";
label_coords->setText(QString("( ")+
QString::number(casualtyList[i - 1].lat)
+ unitLat
+ QString::number(casualtyList[i - 1].lon)
+ unitLon);
/* 添加阴影效果 */
// 创建阴影效果
QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect(this);
effect->setBlurRadius(24);
effect->setOffset(0, 3);
effect->setColor(qRgba(149,157,165,20));
tableItem = qobject_cast<QWidget*>(children[i]);
tableItem->setGraphicsEffect(effect);
}
}
}
/**
* @brief
* @date 202473
* @author yyz
*/
void InjuryDisplayUI::on_detailBtn_clicked()
{
SingleCasualtyInfo* singleCasualty = new SingleCasualtyInfo(this);
singleCasualty->show();
}
/**
* @brief
* @date 202474
* @author yyz
*/
void InjuryDisplayUI::SingleCasualtyDisplay()
{
/* 得到所有的列表显示框 */
const QObjectList children = ui->ListWidget->children();
// 用于指向按钮的ptr
QPushButton* btnPtr;
QObjectList children_elements;
children_elements = children[1]->children();
btnPtr = qobject_cast<QPushButton*>(children_elements[4]);
connect(btnPtr,&QPushButton::clicked,this,&InjuryDisplayUI::on_detailBtn_clicked);
}

@ -0,0 +1,164 @@
#include "../headfiles/robotlistui.h"
#include "ui_robotlistui.h"
constexpr int MAX_DISPLAY_NUM = 10;
constexpr int COLUMN_NUM = 7;
/**
* @brief
* @date 2024610
* @author yyz
*/
class StateDelegate : public QStyledItemDelegate
{
public:
StateDelegate(QObject *parent = nullptr) : QStyledItemDelegate(parent) {}
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override
{
QStyleOptionViewItem opt = option;
initStyleOption(&opt, index);
if (index.column() == 1) { // 假设状态列是第1列
if (index.data().toString() == "已连接") {
opt.palette.setColor(QPalette::Text, QColor("#00FF00")); // 设置文本颜色为绿色
} else {
opt.palette.setColor(QPalette::Text, QColor("#808080")); // 设置文本颜色为灰色
}
}
QStyledItemDelegate::paint(painter, opt, index);
}
};
robotlistUI::robotlistUI(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::robotlistUI)
, db(new DogDatabase)
{
ui->setupUi(this);
setupModel();
setupTableView();
}
robotlistUI::~robotlistUI()
{
delete ui;
delete db;
}
void robotlistUI::setupModel()
{
QList<Dog> dogs;
// 设置单元格的字体颜色
ui->robotList->setStyleSheet("QTableView { color: rgb(15,18,34); }");
if (db->select_all(dogs)) {
model = new QStandardItemModel(MAX_DISPLAY_NUM, COLUMN_NUM, this); // 7列包括6个数据列和1个按钮列
model->setHorizontalHeaderLabels({"ID", "State", "IP", "Port", "Lon", "Lat", ""}); // 设置表头
QStandardItem *item;
for (int i = 0; i < MAX_DISPLAY_NUM; ++i) {
// 设置id这一列的格式
const Dog &dog = dogs[i];
item = new QStandardItem(dog.id);
item->setFlags(item->flags() & ~Qt::ItemIsEditable); // 禁止编辑
item->setForeground(QColor(22,25,40));
item->setTextAlignment(Qt::AlignCenter); // 设置字体居中
model->setItem(i, 0, item);
// 设置state这一列的格式
item = new QStandardItem(dog.state == 1 ? QString("已连接") : QString("未连接"));
item->setForeground(dog.state == 1 ? Qt::green : Qt::gray); // 设置文本颜色
item->setFlags(item->flags() & ~Qt::ItemIsEditable); // 禁止编辑
item->setTextAlignment(Qt::AlignCenter); // 设置字体居中
model->setItem(i, 1, item);
// 设置ip这一列的数据格式
item = new QStandardItem(dog.ip);
item->setFlags(item->flags() & ~Qt::ItemIsEditable); // 禁止编辑
item->setForeground(QColor(22,25,40));
item->setTextAlignment(Qt::AlignCenter); // 设置字体居中
model->setItem(i, 2, item);
// 设置port这一列的数据格式
item = new QStandardItem(QString::number(dog.port));
item->setFlags(item->flags() & ~Qt::ItemIsEditable); // 禁止编辑
item->setForeground(QColor(22,25,40));
item->setTextAlignment(Qt::AlignCenter); // 设置字体居中
model->setItem(i, 3, item);
// 设置lon这一列的数据格式
item = new QStandardItem(QString::number(dog.lon));
item->setFlags(item->flags() & ~Qt::ItemIsEditable); // 禁止编辑
item->setForeground(QColor(22,25,40));
item->setTextAlignment(Qt::AlignCenter); // 设置字体居中
model->setItem(i, 4, item);
// 设置lat这一列的数据格式
item = new QStandardItem(QString::number(dog.lat));
item->setFlags(item->flags() & ~Qt::ItemIsEditable); // 禁止编辑
item->setForeground(QColor(22,25,40));
item->setTextAlignment(Qt::AlignCenter); // 设置字体居中
model->setItem(i, 5, item);
}
} else {
// 处理错误情况
}
}
void robotlistUI::setupTableView()
{
ui->robotList->setModel(model);
// 设置表头字体和颜色
QFont headerFont = ui->robotList->font();
headerFont.setBold(true);
// 表头的字体和字体颜色设置
ui->robotList->horizontalHeader()->setFont(headerFont);
ui->robotList->horizontalHeader()->setStyleSheet("color: rgb(83,88,117); background-color: transparent; ");
// 行号的字体和自已颜色设置
ui->robotList->verticalHeader()->setFont(headerFont);
ui->robotList->verticalHeader()->setStyleSheet("color: rgb(83,88,117); background-color: transparent");
// 设置行高
ui->robotList->verticalHeader()->setDefaultSectionSize(25);
// // 设置交替行颜色
// ui->robotList->setAlternatingRowColors(true);
// ui->robotList->setStyleSheet("QTableView::alternate-row { background-color: #E8E8E8; }");
// 启用列宽调整和列排序
ui->robotList->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->robotList->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->robotList->setSortingEnabled(true);
// 为每一行添加按钮
for (int row = 0; row < model->rowCount(); ++row) {
QString robotId = model->data(model->index(row, 0)).toString();
QPushButton *button = createButton("启动", robotId);
ui->robotList->setIndexWidget(model->index(row, 6), button);
connect(button, &QPushButton::clicked, this, [=]{ handleButtonClicked(robotId); });
}
// 设置选择模式为单选
ui->robotList->setSelectionMode(QAbstractItemView::SingleSelection);
// 设置代理
ui->robotList->setItemDelegateForColumn(1, new StateDelegate(this)); // 为状态列设置代理
}
QPushButton* robotlistUI::createButton(const QString &text, const QString &robotId)
{
QPushButton *button = new QPushButton(text);
button->setProperty("robotId", robotId);
return button;
}
void robotlistUI::handleButtonClicked(const QString &robotId)
{
// 这里实现打开对应机器人操作界面的逻辑
qDebug() << "Open robot with ID:" << robotId;
// 创建新的机器狗界面对象
RobotUI *rbtui = new RobotUI(this);
rbtui->show();
}

@ -0,0 +1,14 @@
#include "../headfiles/robotui.h"
#include "ui_robotui.h"
RobotUI::RobotUI(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::RobotUI)
{
ui->setupUi(this);
}
RobotUI::~RobotUI()
{
delete ui;
}

@ -0,0 +1,14 @@
#include "../headfiles/singlecasualtyinfo.h"
#include "ui_singlecasualtyinfo.h"
SingleCasualtyInfo::SingleCasualtyInfo(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::SingleCasualtyInfo)
{
ui->setupUi(this);
}
SingleCasualtyInfo::~SingleCasualtyInfo()
{
delete ui;
}

@ -0,0 +1,171 @@
/**
* @brief
* @date 2024610
* @author yyz
* @attention ui uavlist.ui robotlistUI
*/
#include "../headfiles/uavlist.h"
#include "ui_uavlist.h"
constexpr int MAX_DISPLAY_NUM = 10;
constexpr int COLUMN_NUM = 7;
/**
* @brief
* @date 2024610
* @author yyz
*/
class StateDelegate : public QStyledItemDelegate
{
public:
StateDelegate(QObject *parent = nullptr) : QStyledItemDelegate(parent) {}
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override
{
QStyleOptionViewItem opt = option;
initStyleOption(&opt, index);
if (index.column() == 1) { // 假设状态列是第1列
if (index.data().toString() == "已连接") {
opt.palette.setColor(QPalette::Text, QColor("#00FF00")); // 设置文本颜色为绿色
} else {
opt.palette.setColor(QPalette::Text, QColor("#808080")); // 设置文本颜色为灰色
}
}
QStyledItemDelegate::paint(painter, opt, index);
}
};
UAVList::UAVList(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::UAVList)
, db(new UAVDatabase)
{
ui->setupUi(this);
setupModel();
setupTableView();
}
UAVList::~UAVList()
{
delete ui;
delete db;
}
void UAVList::setupModel()
{
QList<UAV> UAVs;
// 设置单元格的字体颜色
ui->robotList->setStyleSheet("QTableView { color: rgb(15,18,34); }");
if (db->select_all(UAVs)) {
model = new QStandardItemModel(MAX_DISPLAY_NUM, COLUMN_NUM, this); // 7列包括6个数据列和1个按钮列
model->setHorizontalHeaderLabels({"ID", "State", "IP", "Port", "Lon", "Lat", ""}); // 设置表头
QStandardItem *item;
for (int i = 0; i < MAX_DISPLAY_NUM; ++i) {
// 设置id这一列的格式
const UAV &uav = UAVs[i];
item = new QStandardItem(uav.id);
item->setFlags(item->flags() & ~Qt::ItemIsEditable); // 禁止编辑
item->setForeground(QColor(22,25,40));
item->setTextAlignment(Qt::AlignCenter); // 设置字体居中
model->setItem(i, 0, item);
// 设置state这一列的格式
item = new QStandardItem(uav.state == 1 ? QString("已连接") : QString("未连接"));
item->setForeground(uav.state == 1 ? Qt::green : Qt::gray); // 设置文本颜色
item->setFlags(item->flags() & ~Qt::ItemIsEditable); // 禁止编辑
item->setTextAlignment(Qt::AlignCenter); // 设置字体居中
model->setItem(i, 1, item);
// 设置ip这一列的数据格式
item = new QStandardItem(uav.ip);
item->setFlags(item->flags() & ~Qt::ItemIsEditable); // 禁止编辑
item->setForeground(QColor(22,25,40));
item->setTextAlignment(Qt::AlignCenter); // 设置字体居中
model->setItem(i, 2, item);
// 设置port这一列的数据格式
item = new QStandardItem(QString::number(uav.port));
item->setFlags(item->flags() & ~Qt::ItemIsEditable); // 禁止编辑
item->setForeground(QColor(22,25,40));
item->setTextAlignment(Qt::AlignCenter); // 设置字体居中
model->setItem(i, 3, item);
// 设置lon这一列的数据格式
item = new QStandardItem(QString::number(uav.lon));
item->setFlags(item->flags() & ~Qt::ItemIsEditable); // 禁止编辑
item->setForeground(QColor(22,25,40));
item->setTextAlignment(Qt::AlignCenter); // 设置字体居中
model->setItem(i, 4, item);
// 设置lat这一列的数据格式
item = new QStandardItem(QString::number(uav.lat));
item->setFlags(item->flags() & ~Qt::ItemIsEditable); // 禁止编辑
item->setForeground(QColor(22,25,40));
item->setTextAlignment(Qt::AlignCenter); // 设置字体居中
model->setItem(i, 5, item);
}
} else {
// 处理错误情况
}
}
void UAVList::setupTableView()
{
ui->robotList->setModel(model);
// 设置表头字体和颜色
QFont headerFont = ui->robotList->font();
headerFont.setBold(true);
// 表头的字体和字体颜色设置
ui->robotList->horizontalHeader()->setFont(headerFont);
ui->robotList->horizontalHeader()->setStyleSheet("color: rgb(83,88,117); background-color: transparent; ");
// 行号的字体和自已颜色设置
ui->robotList->verticalHeader()->setFont(headerFont);
ui->robotList->verticalHeader()->setStyleSheet("color: rgb(83,88,117); background-color: transparent");
// 设置行高
ui->robotList->verticalHeader()->setDefaultSectionSize(25);
// // 设置交替行颜色
// ui->robotList->setAlternatingRowColors(true);
// ui->robotList->setStyleSheet("QTableView::alternate-row { background-color: #E8E8E8; }");
// 启用列宽调整和列排序
ui->robotList->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->robotList->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->robotList->setSortingEnabled(true);
// 为每一行添加按钮
for (int row = 0; row < model->rowCount(); ++row) {
QString robotId = model->data(model->index(row, 0)).toString();
QPushButton *button = createButton("Open", robotId);
ui->robotList->setIndexWidget(model->index(row, 6), button);
connect(button, &QPushButton::clicked, this, [=]{ handleButtonClicked(robotId); });
}
// 设置选择模式为单选
ui->robotList->setSelectionMode(QAbstractItemView::SingleSelection);
// 设置代理
ui->robotList->setItemDelegateForColumn(1, new StateDelegate(this)); // 为状态列设置代理
}
QPushButton* UAVList::createButton(const QString &text, const QString &robotId)
{
QPushButton *button = new QPushButton(text);
button->setProperty("robotId", robotId);
return button;
}
void UAVList::handleButtonClicked(const QString &robotId)
{
// 这里实现打开对应机器人操作界面的逻辑
qDebug() << "Open robot with ID:" << robotId;
// 创建新的机器狗界面对象
UAVUI *uavUI = new UAVUI(this);
uavUI->show();
}

@ -0,0 +1,14 @@
#include "../headfiles/uavui.h"
#include "ui_uavui.h"
UAVUI::UAVUI(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::UAVUI)
{
ui->setupUi(this);
}
UAVUI::~UAVUI()
{
delete ui;
}

@ -0,0 +1,236 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>InjuryAnalysisUI</class>
<widget class="QWidget" name="InjuryAnalysisUI">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>679</width>
<height>410</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(245, 245, 245);
font: 11pt &quot;Microsoft YaHei UI&quot;;</string>
</property>
<widget class="QWidget" name="">
<property name="geometry">
<rect>
<x>10</x>
<y>0</y>
<width>215</width>
<height>82</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="label_7">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>100</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>80</width>
<height>80</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>100</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">border-image: url(:/image/res/image/logo_backgroundless.png);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>伤情结果统计:</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="AnalysisDialog" native="true">
<property name="geometry">
<rect>
<x>10</x>
<y>80</y>
<width>631</width>
<height>291</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: rgba(15, 28, 34, 0);
color: rgb(0, 0, 0);
border: none;
padding: 10px 20px; /* 设置内边距 */
border-radius: 5px; /* 设置按钮圆角 */
font-size: 14px; /* 设置文字大小 */
text-align: right; /* 设置字体向右对齐 */
}
QPushButton:hover {
background-color: #0364FF; /* 设置鼠标悬停时按钮背景色 */
}
QPushButton:pressed {
background-color: #398439; /* 设置按钮被按下时背景色 */
}</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>365</width>
<height>229</height>
</rect>
</property>
</widget>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>伤员总数:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="sumLabel">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>伤情轻微的伤员数:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="rank0Label">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>伤情一般的伤员数:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="rank1Label">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>伤情严重的伤员数:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="rank2Label">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>输入伤员编号查询伤员信息</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="searchInput">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="searchButton">
<property name="styleSheet">
<string notr="true">font: 14pt &quot;Consolas&quot;;</string>
</property>
<property name="text">
<string>查询</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>

@ -0,0 +1,507 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>GuidingUI</class>
<widget class="QMainWindow" name="GuidingUI">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1000</width>
<height>667</height>
</rect>
</property>
<property name="windowTitle">
<string>伤情态势感知分析系统</string>
</property>
<property name="toolTipDuration">
<number>0</number>
</property>
<property name="styleSheet">
<string notr="true">#centralwidget{
background-color: rgb(15, 18, 34);
}
#buttonListWidget{
background-color:rgba(15, 18, 34,80);
}
#menubar{
background-color: rgb(15, 18, 34);
}
#mapWidget{
background-color:rgb(245, 246, 250);
}
</string>
</property>
<widget class="QWidget" name="centralwidget">
<property name="enabled">
<bool>true</bool>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<layout class="QGridLayout" name="gridLayout">
<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>
<property name="horizontalSpacing">
<number>15</number>
</property>
<property name="verticalSpacing">
<number>0</number>
</property>
<item row="1" column="0">
<widget class="QWidget" name="buttonListWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>260</width>
<height>500</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>260</width>
<height>600</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: rgba(15, 28, 34, 0);
color: rgb(248, 248, 251);
border: none;
border-radius: 5px; /* 设置按钮圆角 */
font-size: 14px; /* 设置文字大小 */
text-align: left; /* 设置字体向右对齐 */
padding-left: 10px; /*设置字体距离左边的距离*/
min-width: 180px;
min-height:50px;
max-width:190px;
max-height:60px;
}
QLabel{
min-width: 45px;
min-height:45px;
max-width:45px;
max-height:45px;
}
QPushButton:hover {
background-color: #0364FF; /* 设置鼠标悬停时按钮背景色 */
}
QPushButton:pressed {
background-color: #4484EB; /* 设置按钮被按下时背景色 */
}
QPushButton:hover QLabel {
background-color: #0364FF;
}</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<property name="leftMargin">
<number>9</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
<layout class="QHBoxLayout" name="robotListBtnLayout">
<property name="spacing">
<number>6</number>
</property>
<item>
<widget class="QLabel" name="robotListBtnIcon">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>45</width>
<height>45</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>45</width>
<height>45</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">image: url(:/guidingui/res/icon/icons_guidingUI/2.svg);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="robotListBtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>190</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>60</height>
</size>
</property>
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>机器人列表</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<layout class="QHBoxLayout" name="robotCoordsBtnLayout"/>
</item>
<item row="2" column="0">
<layout class="QHBoxLayout" name="addRobotBtnLayout"/>
</item>
<item row="3" column="0">
<layout class="QHBoxLayout" name="mapBtnLayout">
<property name="spacing">
<number>6</number>
</property>
<item>
<widget class="QLabel" name="mapButtonIcon">
<property name="minimumSize">
<size>
<width>45</width>
<height>45</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>45</width>
<height>45</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">image: url(:/guidingui/res/icon/icons_guidingUI/4.svg);
</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="mapbutton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>190</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>60</height>
</size>
</property>
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>显示地图</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="4" column="0">
<layout class="QHBoxLayout" name="addUAVBtnLayout"/>
</item>
<item row="5" column="0">
<layout class="QHBoxLayout" name="UAVListBtnLayout">
<item>
<widget class="QLabel" name="UAVListBtnIcon">
<property name="minimumSize">
<size>
<width>45</width>
<height>45</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>45</width>
<height>45</height>
</size>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">image: url(:/guidingui/res/icon/icons_guidingUI/3.svg);
</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="UAVListBtn">
<property name="minimumSize">
<size>
<width>190</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>60</height>
</size>
</property>
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>无人机列表</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="6" column="0">
<layout class="QHBoxLayout" name="casualtyInfoBtnLayout">
<property name="spacing">
<number>6</number>
</property>
<item>
<widget class="QLabel" name="casualtyInfoBtnIcon">
<property name="minimumSize">
<size>
<width>45</width>
<height>45</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>45</width>
<height>45</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">image: url(:/guidingui/res/icon/icons_guidingUI/1.svg);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="casualtyInfoBtn">
<property name="minimumSize">
<size>
<width>190</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>60</height>
</size>
</property>
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>显示伤情</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="7" column="0">
<layout class="QHBoxLayout" name="UAVCoordsBtnLayout"/>
</item>
<item row="8" column="0">
<layout class="QHBoxLayout" name="casualtyListBtnLayout"/>
</item>
<item row="9" column="0">
<layout class="QHBoxLayout" name="ctrPanelBtnLayout">
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item row="0" column="1" rowspan="3">
<widget class="QWidget" name="mapWidget" native="true">
<layout class="QGridLayout" name="gridLayout_3">
<property name="leftMargin">
<number>20</number>
</property>
<property name="topMargin">
<number>30</number>
</property>
<property name="rightMargin">
<number>20</number>
</property>
<property name="bottomMargin">
<number>20</number>
</property>
<property name="spacing">
<number>50</number>
</property>
<item row="0" column="0">
<widget class="QWidget" name="MapDisplayer" native="true"/>
</item>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QWidget" name="guidingUILogo" native="true">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>230</width>
<height>100</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>250</width>
<height>200</height>
</size>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">border-image: url(:/icon/res/icon/guidinguislogen.svg);</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<action name="action">
<property name="text">
<string>添加机器人</string>
</property>
</action>
<action name="action_3">
<property name="text">
<string>显示机器人</string>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;显示机器人&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</action>
<action name="action_4">
<property name="text">
<string>伤员</string>
</property>
</action>
<action name="action_5">
<property name="text">
<string>加载地图</string>
</property>
</action>
</widget>
<resources/>
<connections/>
</ui>

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>InjuryDisiplayUI</class>
<widget class="QDialog" name="InjuryDisiplayUI">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1205</width>
<height>710</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
</widget>
<resources/>
<connections/>
</ui>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,276 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>robotlistUI</class>
<widget class="QMainWindow" name="robotlistUI">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>884</width>
<height>622</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>微软雅黑</family>
</font>
</property>
<property name="styleSheet">
<string notr="true">#centralwidget{
min-width: 884px;
min-height:579px;
max-width:1500px;
max-height:900px;
}
#bodyWidget{
min-width:884px;
min-height:539px;
max-width:1500px;
max-height:860px;
}
#headWidget{
min-width: 884px;
min-height:40px;
max-width:1500px;
max-height:40px;
}
#robotList{
background-color : rgb(255,255,255);
border: 1px;
}
#tableTitle{
font-weight: 600;
color: rgb(25,25,25);
font-size: 20pt;
}
#searchIcon{
border-image: url(:/image/res/icon/icons_robotListUI/searchIcon.svg);
min-width: 21px;
min-height: 21px;
max-width: 21px;
max-height: 21px;
}
#searchWidget{
border-radius: 10px;
background-color: rgb(255,255,255);
min-width: 261px;
min-height: 24px;
max-width: 261px;
max-height: 24;
}</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<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>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QWidget" name="headWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">#headWidget{
background-color: rgb(15,18,34);
}</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<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>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="1">
<widget class="QFrame" name="searchIcon">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item row="0" column="3">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="2">
<widget class="QLineEdit" name="searchWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
</widget>
</item>
<item row="0" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QWidget" name="bodyWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">#bodyWidget{
background-color: rgb(245,246,250);
}</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>357</width>
<height>32</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" colspan="3">
<widget class="QTableView" name="robotList">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>14</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="showGrid">
<bool>true</bool>
</property>
<property name="gridStyle">
<enum>Qt::SolidLine</enum>
</property>
<attribute name="horizontalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
</widget>
</item>
<item row="0" column="2">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>356</width>
<height>32</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QLabel" name="tableTitle">
<property name="font">
<font>
<family>Microsoft YaHei UI</family>
<pointsize>20</pointsize>
<fontweight>DemiBold</fontweight>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>Robot List</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>884</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

@ -0,0 +1,661 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>RobotUI</class>
<widget class="QMainWindow" name="RobotUI">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1017</width>
<height>717</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>500</height>
</size>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<property name="styleSheet">
<string notr="true">#centralwidget{
min-width: 1017px;
min-height: 717px;
max-width: 1500px;
max-height: 900px;
}
btnWidgetList{
background-color: rgb(15, 18, 34);
min-width: 260px;
min-height: 677px;
max-width: 260px;
max-height: 859px;
}
#robotTagUIWidget{
background-color:rgb(15, 18, 34);
min-width: 260px;
min-height: 41px;
max-width: 260px;
max-height: 41px;
}
#statusBarWidget{
background-color:rgb(255,255,255);
min-width: 757px;
min-height: 41px;
max-width: 1240px;
max-height: 41px;
}
#mainbodyWidget{
background-color:rgb(245,246,250);
min-width: 757px;
min-height: 677px;
max-width: 1240px;
max-height: 859px;
}</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout_2">
<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>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QWidget" name="robotTagUIWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>260</width>
<height>41</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>260</width>
<height>41</height>
</size>
</property>
<layout class="QGridLayout" name="gridLayout">
<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>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QWidget" name="logoWidget" native="true">
<property name="minimumSize">
<size>
<width>40</width>
<height>41</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
<height>41</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">border-image: url(:/image/res/image/logo_backgroundless.png);</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="tagWidget">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>12</pointsize>
<bold>true</bold>
</font>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="styleSheet">
<string notr="true">#tagWidget{
font-weight: bold;
}</string>
</property>
<property name="text">
<string>Robot Control UI</string>
</property>
<property name="indent">
<number>32</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QWidget" name="btnWidgetList" native="true">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>260</width>
<height>677</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>260</width>
<height>677</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: rgba(15, 28, 34, 0);
color: rgb(248, 248, 251);
border: none;
border-radius: 5px; /* 设置按钮圆角 */
font-size: 17px; /* 设置文字大小 */
text-align: left; /* 设置字体向右对齐 */
min-width: 104px;
min-height:23px;
max-width:104px;
max-height:23px;
}
QPushButton:hover {
background-color: #0364FF; /* 设置鼠标悬停时按钮背景色 */
}
QPushButton:pressed {
background-color: #4484EB; /* 设置按钮被按下时背景色 */
}
QFrame {
border: none;
min-width: 23px;
min-height:23px;
max-width:23px;
max-height:23px;
};</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="1" column="2" rowspan="2" colspan="2">
<layout class="QVBoxLayout" name="btnListLayout" stretch="0,0,0,0,0,0">
<property name="spacing">
<number>24</number>
</property>
<item>
<widget class="QPushButton" name="vidBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>视频显示</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="robotCoordsBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>机器人位置</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="micBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>麦克风</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="SLAMBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>SLAM建图</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="autoModeBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>自动导航模式</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="manualModeBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>手动导航模式</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="1" rowspan="2">
<layout class="QVBoxLayout" name="iconListLayout">
<property name="spacing">
<number>24</number>
</property>
<item>
<widget class="QFrame" name="vidIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/vidBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="robotCoordsIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/vidBtn (2).svg);
image: url(:/icons_robotUI/res/icon/icons_robotUI/robotCoordsBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="micIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/micBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="SLAMIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/SLAMBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="autoModeIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/autoModeBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="manualModeIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/manualModeBtn.svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" rowspan="2">
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>28</width>
<height>257</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="4">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>59</width>
<height>182</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="0" colspan="5">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>239</width>
<height>353</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0" colspan="5">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>239</width>
<height>28</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="0" column="1">
<widget class="QWidget" name="statusBarWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>757</width>
<height>41</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>1240</width>
<height>41</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: rgba(255, 255, 255, 0);
border: none;
}</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
</property>
<item>
<widget class="QPushButton" name="startBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/startBtn.svg);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pauseBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/pauseBtn.svg);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pauseBtn_2">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/stopBtn.svg);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>590</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QWidget" name="mainbodyWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>757</width>
<height>677</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>1240</width>
<height>859</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">#vidOff{
border-radius: 10px;
background-color: rgb(245,246,250);
}
#vidOn{
border-radius: 10px;
background-color: rgb(245,246,250);
}
#SLAMOn{
border-radius: 10px;
background-color: rgb(245,246,250);
}
#SLAMOff{
border-radius: 10px;
background-color: rgb(245,246,250);
}</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0" rowspan="2">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>398</width>
<height>656</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QStackedWidget" name="vidWidget">
<property name="currentIndex">
<number>1</number>
</property>
<widget class="QWidget" name="vidOn"/>
<widget class="QWidget" name="vidOff">
<property name="styleSheet">
<string notr="true">border-image: url(:/image_robotUI/res/image/image_robotUI/vid.png);</string>
</property>
</widget>
</widget>
</item>
<item row="1" column="1">
<widget class="QStackedWidget" name="SLAMWidget">
<property name="currentIndex">
<number>1</number>
</property>
<widget class="QWidget" name="SLAMOn"/>
<widget class="QWidget" name="SLAMOff">
<property name="styleSheet">
<string notr="true">border-image: url(:/image_robotUI/res/image/image_robotUI/ORB_SLAM.svg);</string>
</property>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>

@ -0,0 +1,661 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>RobotUI</class>
<widget class="QMainWindow" name="RobotUI">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1017</width>
<height>717</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>500</height>
</size>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<property name="styleSheet">
<string notr="true">#centralwidget{
min-width: 1017px;
min-height: 717px;
max-width: 1500px;
max-height: 900px;
}
btnWidgetList{
background-color: rgb(15, 18, 34);
min-width: 260px;
min-height: 677px;
max-width: 260px;
max-height: 859px;
}
#robotTagUIWidget{
background-color:rgb(15, 18, 34);
min-width: 260px;
min-height: 41px;
max-width: 260px;
max-height: 41px;
}
#statusBarWidget{
background-color:rgb(255,255,255);
min-width: 757px;
min-height: 41px;
max-width: 1240px;
max-height: 41px;
}
#mainbodyWidget{
background-color:rgb(245,246,250);
min-width: 757px;
min-height: 677px;
max-width: 1240px;
max-height: 859px;
}</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout_2">
<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>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QWidget" name="robotTagUIWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>260</width>
<height>41</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>260</width>
<height>41</height>
</size>
</property>
<layout class="QGridLayout" name="gridLayout">
<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>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QWidget" name="logoWidget" native="true">
<property name="minimumSize">
<size>
<width>40</width>
<height>41</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
<height>41</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">border-image: url(:/image/res/image/logo_backgroundless.png);</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="tagWidget">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>12</pointsize>
<bold>true</bold>
</font>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="styleSheet">
<string notr="true">#tagWidget{
font-weight: bold;
}</string>
</property>
<property name="text">
<string>Robot Control UI</string>
</property>
<property name="indent">
<number>32</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QWidget" name="btnWidgetList" native="true">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>260</width>
<height>677</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>260</width>
<height>677</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: rgba(15, 28, 34, 0);
color: rgb(248, 248, 251);
border: none;
border-radius: 5px; /* 设置按钮圆角 */
font-size: 17px; /* 设置文字大小 */
text-align: left; /* 设置字体向右对齐 */
min-width: 104px;
min-height:23px;
max-width:104px;
max-height:23px;
}
QPushButton:hover {
background-color: #0364FF; /* 设置鼠标悬停时按钮背景色 */
}
QPushButton:pressed {
background-color: #4484EB; /* 设置按钮被按下时背景色 */
}
QFrame {
border: none;
min-width: 23px;
min-height:23px;
max-width:23px;
max-height:23px;
};</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="1" column="2" rowspan="2" colspan="2">
<layout class="QVBoxLayout" name="btnListLayout" stretch="0,0,0,0,0,0">
<property name="spacing">
<number>24</number>
</property>
<item>
<widget class="QPushButton" name="vidBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>视频显示</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="robotCoordsBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>机器人位置</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="micBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>麦克风</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="SLAMBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>SLAM建图</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="autoModeBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>自动导航模式</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="manualModeBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>手动导航模式</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="1" rowspan="2">
<layout class="QVBoxLayout" name="iconListLayout">
<property name="spacing">
<number>24</number>
</property>
<item>
<widget class="QFrame" name="vidIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/vidBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="robotCoordsIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/vidBtn (2).svg);
image: url(:/icons_robotUI/res/icon/icons_robotUI/robotCoordsBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="micIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/micBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="SLAMIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/SLAMBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="autoModeIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/autoModeBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="manualModeIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/manualModeBtn.svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" rowspan="2">
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>28</width>
<height>257</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="4">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>59</width>
<height>182</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="0" colspan="5">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>239</width>
<height>353</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0" colspan="5">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>239</width>
<height>28</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="0" column="1">
<widget class="QWidget" name="statusBarWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>757</width>
<height>41</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>1240</width>
<height>41</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: rgba(255, 255, 255, 0);
border: none;
}</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
</property>
<item>
<widget class="QPushButton" name="startBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/startBtn.svg);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pauseBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/pauseBtn.svg);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pauseBtn_2">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/stopBtn.svg);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>590</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QWidget" name="mainbodyWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>757</width>
<height>677</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>1240</width>
<height>859</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">#vidOff{
border-radius: 10px;
background-color: rgb(245,246,250);
}
#vidOn{
border-radius: 10px;
background-color: rgb(245,246,250);
}
#SLAMOn{
border-radius: 10px;
background-color: rgb(245,246,250);
}
#SLAMOff{
border-radius: 10px;
background-color: rgb(245,246,250);
}</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0" rowspan="2">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>398</width>
<height>656</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QStackedWidget" name="vidWidget">
<property name="currentIndex">
<number>1</number>
</property>
<widget class="QWidget" name="vidOn"/>
<widget class="QWidget" name="vidOff">
<property name="styleSheet">
<string notr="true">border-image: url(:/image_robotUI/res/image/image_robotUI/vid.png);</string>
</property>
</widget>
</widget>
</item>
<item row="1" column="1">
<widget class="QStackedWidget" name="SLAMWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="SLAMOn"/>
<widget class="QWidget" name="SLAMOff">
<property name="styleSheet">
<string notr="true">border-image: url(:/image_robotUI/res/image/image_robotUI/ORB_SLAM.svg);</string>
</property>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>

@ -0,0 +1,247 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SingleCasualtyInfo</class>
<widget class="QMainWindow" name="SingleCasualtyInfo">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>500</width>
<height>650</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<property name="styleSheet">
<string notr="true">min-width: 500px;
min-height:650px;
max-width: 500px;
max-height: 650px;</string>
</property>
<widget class="QWidget" name="centralwidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">#centralwidget{
background-color: rgb(246, 247, 250);
min-width: 500px;
min-height:650px;
max-width: 500px;
max-height: 650px;
}
#header{
background-color: rgb(15, 18, 34);
max-height: 40px;
min-height:40px;
min-width: 500px;
max-width: 500px;
}
#analyInfo{
min-height:300px;
max-height:300px;
min-width: 500px;
max-width: 500px;
}
#normalInfo{
min-height:300px;
max-height:300px;
min-width: 500px;
max-width: 500px;
}
</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<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 row="3" column="0">
<widget class="QWidget" name="normalInfo" native="true">
<property name="styleSheet">
<string notr="true">photo{
min-width: 50px;
min-height:50px;
max-width:50px;
max-height:50px;
}</string>
</property>
<widget class="QWidget" name="photo" native="true">
<property name="geometry">
<rect>
<x>9</x>
<y>9</y>
<width>200</width>
<height>290</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">#photo{
border-image: url(:/singleCasualtyInfo/res/image/image_singlecasualtyui/1.png);
min-width:200px;
min-height:290px;
max-width: 200px;
max-height:290px;
border-radius: 20px;
}</string>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>230</x>
<y>10</y>
<width>500</width>
<height>650</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>500</width>
<height>650</height>
</size>
</property>
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>28</pointsize>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">#label{
color: rgb(15, 18, 34);
}</string>
</property>
<property name="text">
<string>姓名/序号</string>
</property>
</widget>
<widget class="QLabel" name="levTag">
<property name="geometry">
<rect>
<x>230</x>
<y>70</y>
<width>271</width>
<height>41</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>271</width>
<height>41</height>
</size>
</property>
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>16</pointsize>
<italic>false</italic>
<bold>false</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">#levTag{
color: rgb(159, 159, 161);
font: 16pt &quot;微软雅黑&quot;;
min-width: 271px;
min-height:41px;
max-width:271px;
max-height:41px;
}</string>
</property>
<property name="text">
<string>伤情等级</string>
</property>
</widget>
<widget class="QLabel" name="lev">
<property name="geometry">
<rect>
<x>230</x>
<y>110</y>
<width>80</width>
<height>41</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>80</width>
<height>41</height>
</size>
</property>
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>16</pointsize>
<italic>false</italic>
<bold>false</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">#lev{
color: rgb(255, 0, 0);
font: 16pt &quot;微软雅黑&quot;;
min-width: 80px;
min-height:41px;
max-width:80px;
max-height:41px;
border-radius: 24px;
}</string>
</property>
<property name="text">
<string>严重</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</widget>
</item>
<item row="1" column="0">
<widget class="QFrame" name="header">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QWidget" name="analyInfo" native="true">
<property name="styleSheet">
<string notr="true">background-color: rgb(255, 255, 255);
border-radius: 15px;
min-width:400px;</string>
</property>
<layout class="QGridLayout" name="gridLayout_3"/>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>

@ -0,0 +1,276 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>UAVList</class>
<widget class="QMainWindow" name="UAVList">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>884</width>
<height>622</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>微软雅黑</family>
</font>
</property>
<property name="styleSheet">
<string notr="true">#centralwidget{
min-width: 884px;
min-height:579px;
max-width:1500px;
max-height:900px;
}
#bodyWidget{
min-width:884px;
min-height:539px;
max-width:1500px;
max-height:860px;
}
#headWidget{
min-width: 884px;
min-height:40px;
max-width:1500px;
max-height:40px;
}
#robotList{
background-color : rgb(255,255,255);
border: 1px;
}
#tableTitle{
font-weight: 600;
color: rgb(25,25,25);
font-size: 20pt;
}
#searchIcon{
border-image: url(:/image/res/icon/icons_robotListUI/searchIcon.svg);
min-width: 21px;
min-height: 21px;
max-width: 21px;
max-height: 21px;
}
#searchWidget{
border-radius: 10px;
background-color: rgb(255,255,255);
min-width: 261px;
min-height: 24px;
max-width: 261px;
max-height: 24;
}</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<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>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QWidget" name="headWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">#headWidget{
background-color: rgb(15,18,34);
}</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<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>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="1">
<widget class="QFrame" name="searchIcon">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item row="0" column="3">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="2">
<widget class="QLineEdit" name="searchWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
</widget>
</item>
<item row="0" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QWidget" name="bodyWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">#bodyWidget{
background-color: rgb(245,246,250);
}</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>357</width>
<height>32</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" colspan="3">
<widget class="QTableView" name="robotList">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>14</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="showGrid">
<bool>true</bool>
</property>
<property name="gridStyle">
<enum>Qt::SolidLine</enum>
</property>
<attribute name="horizontalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
</widget>
</item>
<item row="0" column="2">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>356</width>
<height>32</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QLabel" name="tableTitle">
<property name="font">
<font>
<family>Microsoft YaHei UI</family>
<pointsize>20</pointsize>
<fontweight>DemiBold</fontweight>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>UAV List</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>884</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

@ -0,0 +1,661 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>UAVUI</class>
<widget class="QMainWindow" name="UAVUI">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1017</width>
<height>717</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>500</height>
</size>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<property name="styleSheet">
<string notr="true">#centralwidget{
min-width: 1017px;
min-height: 717px;
max-width: 1500px;
max-height: 900px;
}
btnWidgetList{
background-color: rgb(15, 18, 34);
min-width: 260px;
min-height: 677px;
max-width: 260px;
max-height: 859px;
}
#robotTagUIWidget{
background-color:rgb(15, 18, 34);
min-width: 260px;
min-height: 41px;
max-width: 260px;
max-height: 41px;
}
#statusBarWidget{
background-color:rgb(255,255,255);
min-width: 757px;
min-height: 41px;
max-width: 1240px;
max-height: 41px;
}
#mainbodyWidget{
background-color:rgb(245,246,250);
min-width: 757px;
min-height: 677px;
max-width: 1240px;
max-height: 859px;
}</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout_2">
<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>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QWidget" name="robotTagUIWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>260</width>
<height>41</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>260</width>
<height>41</height>
</size>
</property>
<layout class="QGridLayout" name="gridLayout">
<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>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QWidget" name="logoWidget" native="true">
<property name="minimumSize">
<size>
<width>40</width>
<height>41</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
<height>41</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">border-image: url(:/image/res/image/logo_backgroundless.png);</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="tagWidget">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>12</pointsize>
<bold>true</bold>
</font>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="styleSheet">
<string notr="true">#tagWidget{
font-weight: bold;
}</string>
</property>
<property name="text">
<string>UAV Control UI</string>
</property>
<property name="indent">
<number>32</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QWidget" name="btnWidgetList" native="true">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>260</width>
<height>677</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>260</width>
<height>677</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: rgba(15, 28, 34, 0);
color: rgb(248, 248, 251);
border: none;
border-radius: 5px; /* 设置按钮圆角 */
font-size: 17px; /* 设置文字大小 */
text-align: left; /* 设置字体向右对齐 */
min-width: 104px;
min-height:23px;
max-width:104px;
max-height:23px;
}
QPushButton:hover {
background-color: #0364FF; /* 设置鼠标悬停时按钮背景色 */
}
QPushButton:pressed {
background-color: #4484EB; /* 设置按钮被按下时背景色 */
}
QFrame {
border: none;
min-width: 23px;
min-height:23px;
max-width:23px;
max-height:23px;
};</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="1" column="2" rowspan="2" colspan="2">
<layout class="QVBoxLayout" name="btnListLayout" stretch="0,0,0,0,0,0">
<property name="spacing">
<number>24</number>
</property>
<item>
<widget class="QPushButton" name="vidBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>视频显示</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="robotCoordsBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>无人机位置</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="micBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>麦克风</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="SLAMBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>SLAM建图</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="autoModeBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>自动导航模式</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="manualModeBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>-1</pointsize>
</font>
</property>
<property name="text">
<string>手动导航模式</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="1" rowspan="2">
<layout class="QVBoxLayout" name="iconListLayout">
<property name="spacing">
<number>24</number>
</property>
<item>
<widget class="QFrame" name="vidIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/vidBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="robotCoordsIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/vidBtn (2).svg);
image: url(:/icons_robotUI/res/icon/icons_robotUI/robotCoordsBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="micIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/micBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="SLAMIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/SLAMBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="autoModeIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/autoModeBtn (2).svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="manualModeIcon">
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/manualModeBtn.svg);</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>36</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" rowspan="2">
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>28</width>
<height>257</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="4">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>59</width>
<height>182</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="0" colspan="5">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>239</width>
<height>353</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0" colspan="5">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>239</width>
<height>28</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="0" column="1">
<widget class="QWidget" name="statusBarWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>757</width>
<height>41</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>1240</width>
<height>41</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: rgba(255, 255, 255, 0);
border: none;
}</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
</property>
<item>
<widget class="QPushButton" name="startBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/startBtn.svg);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pauseBtn">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/pauseBtn.svg);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pauseBtn_2">
<property name="font">
<font>
<family>微软雅黑</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">image: url(:/icons_robotUI/res/icon/icons_robotUI/stopBtn.svg);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>590</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QWidget" name="mainbodyWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>757</width>
<height>677</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>1240</width>
<height>859</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">#vidOff{
border-radius: 10px;
background-color: rgb(245,246,250);
}
#vidOn{
border-radius: 10px;
background-color: rgb(245,246,250);
}
#SLAMOn{
border-radius: 10px;
background-color: rgb(245,246,250);
}
#SLAMOff{
border-radius: 10px;
background-color: rgb(245,246,250);
}</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0" rowspan="2">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>398</width>
<height>656</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QStackedWidget" name="vidWidget">
<property name="currentIndex">
<number>1</number>
</property>
<widget class="QWidget" name="vidOn"/>
<widget class="QWidget" name="vidOff">
<property name="styleSheet">
<string notr="true">border-image: url(:/image_robotUI/res/image/image_robotUI/vid.png);</string>
</property>
</widget>
</widget>
</item>
<item row="1" column="1">
<spacer name="verticalSpacer_5">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save