feat: 新增控制指令盘隐藏,完成事件回放按钮事件绑定

chen^2
cbwu 3 weeks ago
parent 1d4c950828
commit ad1fca5565

@ -13,197 +13,236 @@
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>1</number>
</property>
<property name="leftMargin"> <property name="leftMargin">
<number>6</number> <number>4</number>
</property> </property>
<property name="topMargin"> <property name="topMargin">
<number>6</number> <number>4</number>
</property> </property>
<property name="rightMargin"> <property name="rightMargin">
<number>6</number> <number>4</number>
</property> </property>
<property name="bottomMargin"> <property name="bottomMargin">
<number>6</number> <number>4</number>
</property> </property>
<item> <item>
<layout class="QGridLayout" name="gridLayout"> <widget class="QFrame" name="frame">
<property name="spacing"> <property name="styleSheet">
<number>14</number> <string notr="true">#frame{
border: 1px solid white;
border-radius:6px;
}</string>
</property> </property>
<item row="1" column="0"> <property name="frameShape">
<widget class="QPushButton" name="pushButton"> <enum>QFrame::Shape::StyledPanel</enum>
<property name="text">
<string>方位+</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="pushButton_4">
<property name="text">
<string>俯仰+</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="pushButton_8">
<property name="text">
<string>画中画开</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>方位-</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="pushButton_3">
<property name="text">
<string>俯仰-</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="pushButton_7">
<property name="text">
<string>画中画关</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QPushButton" name="pushButton_5">
<property name="text">
<string>变焦推远</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="pushButton_14">
<property name="text">
<string>扫描</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QPushButton" name="pushButton_12">
<property name="text">
<string>复位</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QPushButton" name="pushButton_6">
<property name="text">
<string>变焦拉近</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QPushButton" name="pushButton_13">
<property name="text">
<string>吊舱</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QPushButton" name="pushButton_11">
<property name="text">
<string>锁定</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QPushButton" name="pushButton_10">
<property name="text">
<string>红外小</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QPushButton" name="pushButton_17">
<property name="text">
<string>图像切换</string>
</property>
</widget>
</item>
<item row="5" column="2">
<widget class="QPushButton" name="pushButton_16">
<property name="text">
<string>0-3图拼接</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QPushButton" name="pushButton_9">
<property name="text">
<string>红外大</string>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QPushButton" name="pushButton_15">
<property name="text">
<string>4-6图拼接</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QToolButton" name="startConnectionToolBtn">
<property name="text">
<string>连接</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="QWidget" name="widget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QToolButton" name="videoLayout1TBtn">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="videoLayout4TBtn">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="frameShadow">
<size> <enum>QFrame::Shadow::Raised</enum>
<width>20</width>
<height>40</height>
</size>
</property> </property>
</spacer> <layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="spacing">
<number>14</number>
</property>
<item row="1" column="0">
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>方位+</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="pushButton_4">
<property name="text">
<string>俯仰+</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="pushButton_8">
<property name="text">
<string>画中画开</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>方位-</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="pushButton_3">
<property name="text">
<string>俯仰-</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="pushButton_7">
<property name="text">
<string>画中画关</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QPushButton" name="pushButton_5">
<property name="text">
<string>变焦推远</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="pushButton_14">
<property name="text">
<string>扫描</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QPushButton" name="pushButton_12">
<property name="text">
<string>复位</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QPushButton" name="pushButton_6">
<property name="text">
<string>变焦拉近</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QPushButton" name="pushButton_13">
<property name="text">
<string>吊舱</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QPushButton" name="pushButton_11">
<property name="text">
<string>锁定</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QPushButton" name="pushButton_10">
<property name="text">
<string>红外小</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QPushButton" name="pushButton_17">
<property name="text">
<string>图像切换</string>
</property>
</widget>
</item>
<item row="5" column="2">
<widget class="QPushButton" name="pushButton_16">
<property name="text">
<string>0-3图拼接</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QPushButton" name="pushButton_9">
<property name="text">
<string>红外大</string>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QPushButton" name="pushButton_15">
<property name="text">
<string>4-6图拼接</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QToolButton" name="startConnectionToolBtn">
<property name="text">
<string>连接</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="QWidget" name="widget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QToolButton" name="videoLayout1TBtn">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="videoLayout4TBtn">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>219</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item> </item>
</layout> </layout>
</widget> </widget>

@ -57,6 +57,8 @@ MainWindow::MainWindow(QWidget *parent)
initNotifyMessageConnection(); initNotifyMessageConnection();
initChangeVideoLayoutConnection(); initChangeVideoLayoutConnection();
initHideButton();
setSavedVideoDir(); setSavedVideoDir();
// ui->stackedWidget->setCurrentIndex(1); // ui->stackedWidget->setCurrentIndex(1);
// ui->videoWidget1->play(list.at(0)); // ui->videoWidget1->play(list.at(0));
@ -85,6 +87,17 @@ bool MainWindow::nativeEvent(const QByteArray &eventType, void *message,
return QMainWindow::nativeEvent(eventType, message, result); return QMainWindow::nativeEvent(eventType, message, result);
} }
void MainWindow::paintEvent(QPaintEvent *ev) {
int offset = 0;
if (ui->commandWidget->isHidden()) {
offset = hideCommandWidgetBtn->width() / 2;
}
hideCommandWidgetBtn->move(ui->stackedWidget->width() - offset,
ui->commandWidget->height() / 2);
int i = 0;
}
void MainWindow::initSignalConnection() { void MainWindow::initSignalConnection() {
connect(ui->commandWidget, &CommandWidget::startConnectionSignal, connect(ui->commandWidget, &CommandWidget::startConnectionSignal,
ui->videoWidget, &VideoWidget::udpPlay, Qt::UniqueConnection); ui->videoWidget, &VideoWidget::udpPlay, Qt::UniqueConnection);
@ -140,6 +153,8 @@ void MainWindow::installWindowAgent() {
playBackAction->setIcon(QIcon(":/images/playback.png")); playBackAction->setIcon(QIcon(":/images/playback.png"));
playBackAction->setIconText("回放"); playBackAction->setIconText("回放");
menuBar->addAction(playBackAction); menuBar->addAction(playBackAction);
connect(playBackAction, &QAction::triggered, this,
&MainWindow::openSavedVideoDirSlot);
QAction *pushStreamAction = new QAction(this); QAction *pushStreamAction = new QAction(this);
pushStreamAction->setIcon(QIcon(":/images/pushstream.png")); pushStreamAction->setIcon(QIcon(":/images/pushstream.png"));
@ -266,6 +281,16 @@ void MainWindow::setSavedVideoDir() {
ui->videoWidget4->setVedioSaveFileDirPath("./video/video4"); ui->videoWidget4->setVedioSaveFileDirPath("./video/video4");
} }
void MainWindow::initHideButton() {
hideCommandWidgetBtn = new QToolButton(this);
hideCommandWidgetBtn->setIcon(QIcon(":/images/right.png"));
hideCommandWidgetBtn->setIconSize(QSize(24, 24));
hideCommandWidgetBtn->setFixedSize(30, 30);
connect(hideCommandWidgetBtn, &QToolButton::clicked, this,
&MainWindow::hideCommandWidgetSlot);
}
void MainWindow::showSettingDlgSlot() { void MainWindow::showSettingDlgSlot() {
settingDlg.exec(); settingDlg.exec();
} }
@ -274,4 +299,17 @@ void MainWindow::showStreamSettingsDlgSlot() {
streamAddrSettingsDlg.exec(); streamAddrSettingsDlg.exec();
} }
void MainWindow::changeVideoLayout(int index) {} void MainWindow::hideCommandWidgetSlot() {
if (ui->commandWidget->isHidden()) {
ui->commandWidget->show();
hideCommandWidgetBtn->setIcon(QIcon(":/images/right.png"));
} else {
ui->commandWidget->hide();
hideCommandWidgetBtn->setIcon(QIcon(":/images/left.png"));
}
}
void MainWindow::openSavedVideoDirSlot() {
QDesktopServices::openUrl(
QUrl(QApplication::applicationDirPath() + "/video"));
}

@ -2,7 +2,9 @@
#define MAINWINDOW_H #define MAINWINDOW_H
#include <QDebug> #include <QDebug>
#include <QDesktopServices>
#include <QMainWindow> #include <QMainWindow>
#include <QToolButton>
#include <QWindow> #include <QWindow>
#include "NotifyManager.h" #include "NotifyManager.h"
@ -43,7 +45,8 @@ public:
Q_ENUM(Theme) Q_ENUM(Theme)
protected: protected:
bool nativeEvent(const QByteArray &eventType, void *message, bool nativeEvent(const QByteArray &eventType, void *message,
qintptr *result); qintptr *result) override;
void paintEvent(QPaintEvent *ev) override;
signals: signals:
void themeChanged(); void themeChanged();
@ -58,10 +61,13 @@ private:
void installWindowAgent(); void installWindowAgent();
void loadStyleSheet(Theme theme); void loadStyleSheet(Theme theme);
void setSavedVideoDir(); void setSavedVideoDir();
void initHideButton();
private slots: private slots:
void showSettingDlgSlot(); void showSettingDlgSlot();
void showStreamSettingsDlgSlot(); void showStreamSettingsDlgSlot();
void changeVideoLayout(int index); void hideCommandWidgetSlot();
void openSavedVideoDirSlot();
private: private:
Ui::MainWindow *ui; Ui::MainWindow *ui;
@ -71,5 +77,6 @@ private:
QWK::WidgetWindowAgent *windowAgent; QWK::WidgetWindowAgent *windowAgent;
Theme currentTheme{}; Theme currentTheme{};
NotifyManager *m_notifyManager = nullptr; NotifyManager *m_notifyManager = nullptr;
QToolButton *hideCommandWidgetBtn = nullptr;
}; };
#endif // MAINWINDOW_H #endif // MAINWINDOW_H

@ -35,6 +35,9 @@
<property name="spacing"> <property name="spacing">
<number>4</number> <number>4</number>
</property> </property>
<property name="rightMargin">
<number>0</number>
</property>
<item> <item>
<widget class="QStackedWidget" name="stackedWidget"> <widget class="QStackedWidget" name="stackedWidget">
<property name="currentIndex"> <property name="currentIndex">

@ -323,3 +323,4 @@ QDoubleSpinBox
color:white; color:white;
} }

Loading…
Cancel
Save