92 lines
2.5 KiB
C++
92 lines
2.5 KiB
C++
#ifndef MAINWINDOW_H
|
|
#define MAINWINDOW_H
|
|
|
|
#include <QMainWindow>
|
|
#include <QApplication>
|
|
#include <QDir>
|
|
#include <QTimer>
|
|
#include <QVBoxLayout>
|
|
#include <QScopedPointer>
|
|
#include <QJsonObject>
|
|
#include <QProcess>
|
|
#include <iostream>
|
|
#include "opencv.hpp"
|
|
#include <FrontendBackendBridge.h>
|
|
#pragma execution_character_set("utf-8")
|
|
|
|
enum DRAG_ABSOLUTE_POSITION
|
|
{
|
|
DRAG_KEEP=0, //保持不动
|
|
DRAG_LOCK_LEFT=1, //锁定左边坐标
|
|
DRAG_LOCK_TOP=2, //锁定上边坐标
|
|
DRAG_LOCK_RIGHT=3, //锁定右边坐标
|
|
DRAG_LOCK_BOTTOM=4 //锁定下边坐标
|
|
};
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
namespace Ui { class MainWindow; }
|
|
QT_END_NAMESPACE
|
|
|
|
class TitleBar;
|
|
class LeftWindow;
|
|
class RightWidget;
|
|
class MyWidget;
|
|
class ProcessTask;//检测线程管理
|
|
class MainWindow : public QMainWindow
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MainWindow(QWidget *parent = nullptr);
|
|
~MainWindow();
|
|
void initWidget();
|
|
void signalAndSlot();
|
|
QJsonObject loadCameraCfg();
|
|
|
|
void SendImage(cv::Mat& mtx, QString outstr, QString outstrRes);
|
|
void SendImage2(cv::Mat& mtx, QString outstr, QString outstrRes);
|
|
bool GetInitState();
|
|
protected:
|
|
void mousePressEvent(QMouseEvent *event) override;
|
|
void mouseMoveEvent(QMouseEvent *event)override;
|
|
void mouseReleaseEvent(QMouseEvent *event)override;
|
|
void resizeEvent(QResizeEvent *event)override;
|
|
private:
|
|
Ui::MainWindow *ui;
|
|
int g_nBorder = 25;
|
|
QPoint m_startPt;
|
|
QPoint m_start_drag_point; //拖拽开始的起始位置
|
|
bool m_bCanDragResize; //当前窗口是否处于可拖拽窗口大小状态
|
|
QString currPath;
|
|
QJsonObject m_jsonObj;
|
|
|
|
DRAG_ABSOLUTE_POSITION m_emHorizontal; //横向的移动范围
|
|
DRAG_ABSOLUTE_POSITION m_emVertical; //纵向的移动范围
|
|
|
|
|
|
ProcessTask* m_task = nullptr;
|
|
MyWidget* m_area = nullptr;
|
|
LeftWindow* m_left = nullptr;
|
|
RightWidget* m_right = nullptr;
|
|
TitleBar* m_title = nullptr;
|
|
QScopedPointer<QVBoxLayout> vboxPtr;
|
|
|
|
QTimer* m_timer = nullptr;
|
|
QMap<QString,QString> listmsg;
|
|
bool Isinit = false;
|
|
|
|
|
|
// 外置exe进程
|
|
QProcess my_Para_Process;
|
|
|
|
public slots:
|
|
void On_sendCommond(int);
|
|
void getMsg(std::string time, std::string msg);
|
|
void disconnectMV(QString msg);
|
|
signals:
|
|
void sig_finished(bool isOk);// 自动刷新
|
|
void sendImage(QString, QImage*,int); // 传递拍到的图片
|
|
void sendMsg(std::string time, std::string msg);
|
|
};
|
|
#endif // MAINWINDOW_H
|