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

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

@ -13,21 +13,57 @@
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>1</number>
</property>
<property name="leftMargin">
<number>4</number>
</property>
<property name="topMargin">
<number>4</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>4</number>
</property>
<item>
<widget class="QFrame" name="frame">
<property name="styleSheet">
<string notr="true">#frame{
border: 1px solid white;
border-radius:6px;
}</string>
</property>
<property name="frameShape">
<enum>QFrame::Shape::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin"> <property name="leftMargin">
<number>6</number> <number>2</number>
</property> </property>
<property name="topMargin"> <property name="topMargin">
<number>6</number> <number>0</number>
</property> </property>
<property name="rightMargin"> <property name="rightMargin">
<number>6</number> <number>2</number>
</property> </property>
<property name="bottomMargin"> <property name="bottomMargin">
<number>6</number> <number>0</number>
</property> </property>
<item> <item>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="spacing"> <property name="spacing">
<number>14</number> <number>14</number>
</property> </property>
@ -200,13 +236,16 @@
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>40</height> <height>219</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
</layout> </layout>
</widget> </widget>
</item>
</layout>
</widget>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>

@ -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