From bb1a01f402791fd38d6dd0617bc1a5e32fa5b4be Mon Sep 17 00:00:00 2001 From: tangchao0503 <735056338@qq.com> Date: Thu, 13 Nov 2025 14:56:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HPPA/HPPA.cpp | 224 +++++++++++++++++++++++++------------------------- HPPA/HPPA.h | 1 + 2 files changed, 114 insertions(+), 111 deletions(-) diff --git a/HPPA/HPPA.cpp b/HPPA/HPPA.cpp index cc25b93..2fae743 100644 --- a/HPPA/HPPA.cpp +++ b/HPPA/HPPA.cpp @@ -65,116 +65,10 @@ HPPA::HPPA(QWidget* parent) ui.splitter->setStretchFactor(1, 1); ui.splitter->setStretchFactor(2, 3);*/ - //自定义菜单栏和工具栏 - QWidget* menuWidget = new WidgetWithBackgroundPicture(); - //menuWidget->setFixedWidth(200); - menuWidget->setFixedHeight(66); - QHBoxLayout* hLayout_menuWidget = new QHBoxLayout(menuWidget); - - //auto menuBar_tmp = menuBar(); - auto menuBar_tmp = ui.menuBar; - hLayout_menuWidget->addWidget(menuBar_tmp); - menuBar_tmp->setAutoFillBackground(false); - menuBar_tmp->setStyleSheet(R"( - QMenuBar { - background: transparent;/*transparent*/ - border: none; - } - QMenuBar::item { - background: transparent; - color: white; /* 根据你的背景调整文字颜色 */ - padding: 4px 8px; - padding-top: 8px; - padding-bottom: 8px; - } - QMenuBar::item:selected { - background: rgba(255, 255, 255, 50); /* 轻微高亮 */ - } - - QMenu { - background-color: #0A1245; /* 菜单背景色 */ - border: 1px solid gray; /* 可选,边框样式 */ - color: white; /* 根据你的背景调整文字颜色 */ - } - QMenu::item:selected { - background-color: rgba(255, 255, 255, 50); /* 选中时的背景色 */ - color: white; /* 选中项字体颜色,可选 */ - } - )"); - - hLayout_menuWidget->addStretch(); - QPushButton* closeBtn = new QPushButton(QString::fromLocal8Bit("退出平台")); - closeBtn->setStyleSheet(R"( - QPushButton { - background: #002CE0; - color: white; - font-size: 14px; - border: none; - padding: 8px; - } - QPushButton:hover { - background: #34495e; - } - )"); - hLayout_menuWidget->addWidget(closeBtn); - - QWidget* toolBarWidget = new QWidget(); - toolBarWidget->setStyleSheet("background-color: #0D1233;"); - QHBoxLayout* hLayout_toolBarWidget = new QHBoxLayout(toolBarWidget); - - //QToolBar* toolBar = this->findChild("mainToolBar"); - QToolBar* toolBar = ui.mainToolBar; - //hLayout_toolBarWidget->addWidget(toolBar); - toolBar->setAttribute(Qt::WA_TranslucentBackground, true); - toolBar->setAutoFillBackground(false); - toolBar->setIconSize(QSize(56, 56)); - toolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); - //在工具栏上添加输入框QLineEdit - frame_number = new QLineEdit(ui.mainToolBar); - frame_number->setStyleSheet("QLineEdit{background-color:rgb(255,255,255);}"); - frame_number->setMaximumWidth(100); - frame_number->setText("5000"); - QAction* action = ui.mainToolBar->insertWidget(ui.action_start_recording, frame_number); - - m_FilenameLineEdit = new QLineEdit(ui.mainToolBar); - m_FilenameLineEdit->setStyleSheet("QLineEdit{background-color:rgb(255,255,255);}"); - m_FilenameLineEdit->setMaximumWidth(100); - m_FilenameLineEdit->setText("tmp_image"); - QAction* action1 = ui.mainToolBar->insertWidget(ui.action_start_recording, m_FilenameLineEdit); - - ui.action_connect_imager->setIcon(QIcon(".//icon//all//connect_imager.png")); - ui.action_auto_exposure->setIcon(QIcon(".//icon//all//exposure.png")); - ui.action_focus->setIcon(QIcon(".//icon//all//focus.png")); - ui.action_dark->setIcon(QIcon(".//icon//all//dark.png")); - ui.action_reference->setIcon(QIcon(".//icon//all//reference.png")); - // 使用样式表设置透明背景 - toolBar->setStyleSheet(R"( - QToolBar { - background: #0D1233;/*transparent*/ - border: 1px solid #444; - border-radius: 6px; - } - QToolButton { - background: transparent; - color: white; /* 可根据背景调整文字颜色 */ - padding: 4px; - margin: 0 0 0 6px; - } - QToolButton:hover { - background: rgba(255,255,255,50); /* 悬停时轻微高亮 */ - } - )"); - - - QWidget* topWidget = new QWidget(); - topWidget->setStyleSheet("background-color: #040125;"); - QVBoxLayout* verticalLayout_topWidget = new QVBoxLayout(topWidget); - verticalLayout_topWidget->addWidget(menuWidget); - //verticalLayout_topWidget->addWidget(toolBarWidget); - setMenuWidget(topWidget); - + + initMenubarToolbar(); @@ -459,9 +353,6 @@ HPPA::HPPA(QWidget* parent) QDockWidget::close-button:hover, QDockWidget::float-button:hover { background: rgba(255,255,255,0.2); } - - - )"); @@ -486,6 +377,117 @@ HPPA::HPPA(QWidget* parent) } } +void HPPA::initMenubarToolbar() +{ + //自定义菜单栏和工具栏 + QWidget* menuWidget = new WidgetWithBackgroundPicture(); + //menuWidget->setFixedWidth(200); + menuWidget->setFixedHeight(66); + QHBoxLayout* hLayout_menuWidget = new QHBoxLayout(menuWidget); + + //auto menuBar_tmp = menuBar(); + auto menuBar_tmp = ui.menuBar; + hLayout_menuWidget->addWidget(menuBar_tmp); + menuBar_tmp->setAutoFillBackground(false); + menuBar_tmp->setStyleSheet(R"( + QMenuBar { + background: transparent;/*transparent*/ + border: none; + } + QMenuBar::item { + background: transparent; + color: white; /* 根据你的背景调整文字颜色 */ + padding: 4px 8px; + padding-top: 8px; + padding-bottom: 8px; + } + QMenuBar::item:selected { + background: rgba(255, 255, 255, 50); /* 轻微高亮 */ + } + + QMenu { + background-color: #0A1245; /* 菜单背景色 */ + border: 1px solid gray; /* 可选,边框样式 */ + color: white; /* 根据你的背景调整文字颜色 */ + } + QMenu::item:selected { + background-color: rgba(255, 255, 255, 50); /* 选中时的背景色 */ + color: white; /* 选中项字体颜色,可选 */ + } + )"); + + hLayout_menuWidget->addStretch(); + QPushButton* closeBtn = new QPushButton(QString::fromLocal8Bit("退出平台")); + closeBtn->setStyleSheet(R"( + QPushButton { + background: #002CE0; + color: white; + font-size: 14px; + border: none; + padding: 8px; + } + QPushButton:hover { + background: #34495e; + } + )"); + hLayout_menuWidget->addWidget(closeBtn); + + QWidget* toolBarWidget = new QWidget(); + toolBarWidget->setStyleSheet("background-color: #0D1233;"); + QHBoxLayout* hLayout_toolBarWidget = new QHBoxLayout(toolBarWidget); + + //QToolBar* toolBar = this->findChild("mainToolBar"); + QToolBar* toolBar = ui.mainToolBar; + //hLayout_toolBarWidget->addWidget(toolBar); + toolBar->setAttribute(Qt::WA_TranslucentBackground, true); + toolBar->setAutoFillBackground(false); + toolBar->setIconSize(QSize(56, 56)); + toolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); + //在工具栏上添加输入框QLineEdit + frame_number = new QLineEdit(ui.mainToolBar); + frame_number->setStyleSheet("QLineEdit{background-color:rgb(255,255,255);}"); + frame_number->setMaximumWidth(100); + frame_number->setText("5000"); + QAction* action = ui.mainToolBar->insertWidget(ui.action_start_recording, frame_number); + + m_FilenameLineEdit = new QLineEdit(ui.mainToolBar); + m_FilenameLineEdit->setStyleSheet("QLineEdit{background-color:rgb(255,255,255);}"); + m_FilenameLineEdit->setMaximumWidth(100); + m_FilenameLineEdit->setText("tmp_image"); + QAction* action1 = ui.mainToolBar->insertWidget(ui.action_start_recording, m_FilenameLineEdit); + + ui.action_connect_imager->setIcon(QIcon(".//icon//all//connect_imager.png")); + ui.action_auto_exposure->setIcon(QIcon(".//icon//all//exposure.png")); + ui.action_focus->setIcon(QIcon(".//icon//all//focus.png")); + ui.action_dark->setIcon(QIcon(".//icon//all//dark.png")); + ui.action_reference->setIcon(QIcon(".//icon//all//reference.png")); + // 使用样式表设置透明背景 + toolBar->setStyleSheet(R"( + QToolBar { + background: #0D1233;/*transparent*/ + border: 1px solid #444; + border-radius: 6px; + } + QToolButton { + background: transparent; + color: white; /* 可根据背景调整文字颜色 */ + padding: 4px; + margin: 0 0 0 6px; + } + QToolButton:hover { + background: rgba(255,255,255,50); /* 悬停时轻微高亮 */ + } + )"); + + + QWidget* topWidget = new QWidget(); + topWidget->setStyleSheet("background-color: #040125;"); + QVBoxLayout* verticalLayout_topWidget = new QVBoxLayout(topWidget); + verticalLayout_topWidget->addWidget(menuWidget); + //verticalLayout_topWidget->addWidget(toolBarWidget); + setMenuWidget(topWidget); +} + void HPPA::initControlTabwidget() { ui.controlTabWidget->removeTab(1); diff --git a/HPPA/HPPA.h b/HPPA/HPPA.h index c948fb4..cbcef10 100644 --- a/HPPA/HPPA.h +++ b/HPPA/HPPA.h @@ -170,6 +170,7 @@ private: QMenu* mPanelMenu = nullptr; QMenu* mToolbarMenu = nullptr; + void initMenubarToolbar(); void initPanelToolbar(); void initControlTabwidget();