优化代码结构

This commit is contained in:
tangchao0503
2025-11-13 14:56:19 +08:00
parent 797ff77f5f
commit bb1a01f402
2 changed files with 114 additions and 111 deletions

View File

@ -65,116 +65,10 @@ HPPA::HPPA(QWidget* parent)
ui.splitter->setStretchFactor(1, 1);
ui.splitter->setStretchFactor(2, 3);*/
//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>͹<EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD>
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; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ */
padding: 4px 8px;
padding-top: 8px;
padding-bottom: 8px;
}
QMenuBar::item:selected {
background: rgba(255, 255, 255, 50); /* <20><>΢<EFBFBD><CEA2><EFBFBD><EFBFBD> */
}
QMenu {
background-color: #0A1245; /* <20>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>ɫ */
border: 1px solid gray; /* <20><>ѡ<EFBFBD><D1A1><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>ʽ */
color: white; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ */
}
QMenu::item:selected {
background-color: rgba(255, 255, 255, 50); /* ѡ<><D1A1>ʱ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ɫ */
color: white; /* ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ѡ */
}
)");
hLayout_menuWidget->addStretch();
QPushButton* closeBtn = new QPushButton(QString::fromLocal8Bit("<EFBFBD>˳<EFBFBD>ƽ̨"));
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<QToolBar*>("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);
//<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>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"));
// ʹ<><CAB9><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
toolBar->setStyleSheet(R"(
QToolBar {
background: #0D1233;/*transparent*/
border: 1px solid #444;
border-radius: 6px;
}
QToolButton {
background: transparent;
color: white; /* <20>ɸ<EFBFBD><C9B8>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ */
padding: 4px;
margin: 0 0 0 6px;
}
QToolButton:hover {
background: rgba(255,255,255,50); /* <20><>ͣʱ<CDA3><CAB1>΢<EFBFBD><CEA2><EFBFBD><EFBFBD> */
}
)");
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()
{
//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>͹<EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD>
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; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ */
padding: 4px 8px;
padding-top: 8px;
padding-bottom: 8px;
}
QMenuBar::item:selected {
background: rgba(255, 255, 255, 50); /* <20><>΢<EFBFBD><CEA2><EFBFBD><EFBFBD> */
}
QMenu {
background-color: #0A1245; /* <20>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>ɫ */
border: 1px solid gray; /* <20><>ѡ<EFBFBD><D1A1><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>ʽ */
color: white; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ */
}
QMenu::item:selected {
background-color: rgba(255, 255, 255, 50); /* ѡ<><D1A1>ʱ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ɫ */
color: white; /* ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ѡ */
}
)");
hLayout_menuWidget->addStretch();
QPushButton* closeBtn = new QPushButton(QString::fromLocal8Bit("<EFBFBD>˳<EFBFBD>ƽ̨"));
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<QToolBar*>("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);
//<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>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"));
// ʹ<><CAB9><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
toolBar->setStyleSheet(R"(
QToolBar {
background: #0D1233;/*transparent*/
border: 1px solid #444;
border-radius: 6px;
}
QToolButton {
background: transparent;
color: white; /* <20>ɸ<EFBFBD><C9B8>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ */
padding: 4px;
margin: 0 0 0 6px;
}
QToolButton:hover {
background: rgba(255,255,255,50); /* <20><>ͣʱ<CDA3><CAB1>΢<EFBFBD><CEA2><EFBFBD><EFBFBD> */
}
)");
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);

View File

@ -170,6 +170,7 @@ private:
QMenu* mPanelMenu = nullptr;
QMenu* mToolbarMenu = nullptr;
void initMenubarToolbar();
void initPanelToolbar();
void initControlTabwidget();