qt_demoe/video/videopanel/videopanel.h

69 lines
1.5 KiB
C
Raw Normal View History

2020-04-15 02:22:08 +00:00
#ifndef VIDEOPANEL_H
#define VIDEOPANEL_H
/**
2021-09-26 01:50:09 +00:00
* :feiyangqingyun(QQ:517216493) 2019-04-11
2021-11-09 12:39:42 +00:00
* 1.
* 2.
* 3. 4/6/8/9/13/16/25/36/64
* 4.
* 5. 便
2020-04-15 02:22:08 +00:00
*/
#include <QWidget>
class QMenu;
class QLabel;
class QGridLayout;
2021-11-09 12:39:42 +00:00
class VideoBox;
2020-04-15 02:22:08 +00:00
#ifdef quc
2020-12-24 10:00:09 +00:00
class Q_DECL_EXPORT VideoPanel : public QWidget
2020-04-15 02:22:08 +00:00
#else
class VideoPanel : public QWidget
#endif
{
Q_OBJECT
public:
explicit VideoPanel(QWidget *parent = 0);
protected:
bool eventFilter(QObject *watched, QEvent *event);
private:
bool videoMax; //是否最大化
int videoCount; //视频通道个数
QString videoType; //当前画面类型
QMenu *videoMenu; //右键菜单
QAction *actionFull; //全屏动作
QAction *actionPoll; //轮询动作
2021-11-09 12:39:42 +00:00
QGridLayout *gridLayout; //通道表格布局
QWidgetList widgets; //视频控件集合
VideoBox *videoBox; //通道布局类
2020-04-15 02:22:08 +00:00
public:
QSize sizeHint() const;
QSize minimumSizeHint() const;
private slots:
void initControl();
void initForm();
void initMenu();
void full();
void poll();
private slots:
void play_video_all();
void snapshot_video_one();
2021-11-09 12:39:42 +00:00
void snapshot_video_all();
2020-04-15 02:22:08 +00:00
signals:
2021-11-09 12:39:42 +00:00
//全屏切换信号
2020-04-15 02:22:08 +00:00
void fullScreen(bool full);
};
#endif // VIDEOPANEL_H