1 Star 0 Fork 2

yangxianjun/JHPhoto_BASIC

forked from liyuanbhu/JHPhoto_BASIC 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
mainwindow.h 3.51 KB
一键复制 编辑 原始数据 按行查看 历史
liyuanbhu 提交于 2022-02-04 09:10 . 增加了 OpenCV 相机
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QSettings>
#include <QMainWindow>
#include <QScrollArea>
#include <QSpinBox>
#include <QKeyEvent>
#include <QTimer>
#include "DisplayWidget/ToolBarMeasure.h"
#include "DisplayWidget/ToolBarZoom.h"
#include "DisplayWidget/ToolBarProperty.h"
#include "Camera/CameraCommon/ToolBarCamera.h"
#include "Camera/CameraCommon/CameraImage_RGB24.h"
#include "Camera/CameraCommon/CameraImage_RGB32.h"
#include "Camera/CameraCommon/IndustryCamera.h"
#include "Camera/CameraCommon/CameraFactory.h"
#include "Nosepiece/NosepieceCommon/ToolbarNosepiece.h"
#include "Nosepiece/NosepieceCommon/LensManager.h"
#include "Nosepiece/NosepieceCommon/ToolBarLens.h"
#include "AboutDialog.h"
#include "Nosepiece/NosepieceCommon/LensManageDialog.h"
namespace Ui {
class MainWindow;
}
class DisplayWidget;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
enum ZOOM{ LEN0 = 0, LEN1 = 1, LEN2, LEN3, LEN4, LEN5 };
explicit MainWindow(QWidget *parent = nullptr) ;
~MainWindow() Q_DECL_OVERRIDE;
QImage getImage();
public slots:
void clearAllMark();
protected:
void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE;
void keyPressEvent(QKeyEvent *event) Q_DECL_OVERRIDE;
private:
void setupCamera(QSettings &settings);
void setupToolBar(QSettings &settings);
void setupStatusBar();
void setupScale(QSettings &settings);
void setupNosepiece(QSettings &settings);
void savePassword(QSettings &settings);
QString configFilePath();
private slots:
void toggleCameraState();
void changePassword();
void setClibMode(bool on);
void showCalibDialog();
void showLensManageDialog();
void loadImage();
void saveImageWithMark();
void saveImageWithoutMark();
void openDefaultCamera();
void closeCamera();
/// Camera 相关的 slots
void changeRuler(int old, int len);
void showAbout();
void setDefaultAppInfo();
void updateCameraImage(const uint8_t *imgBuf, int stride, QSize size, AVPixelFormat format);
void updateCameraFrame(Qly::VideoFrame frame);
void updateMousePos(QPointF &p);
void onTimeoutFrameRateCounter();//用来更新真实的 FrameRate
protected:
Ui::MainWindow *ui = nullptr;
/// 显示相关
QScrollArea *m_scrollArea = nullptr;
Qly::DisplayWidget *m_centerWidget = nullptr;
Qly::ToolBarMeasure *m_toolbarMeasure = nullptr;
Qly::ToolBarZoom *m_toolbarZoom = nullptr;
Qly::ToolBarProperty *m_toolbarProperty = nullptr;
QLabel * m_labelMousePosition = nullptr;
QLabel * m_labelCameraName = nullptr;
QLabel * m_labelCameraResolution = nullptr;
QLabel * m_labelCameraFrameCount = nullptr;
QLabel * m_labelCameraFrameRate = nullptr;
QLabel * m_labelCameraPixelFormat = nullptr;
QTimer * m_timerStatusBar = nullptr;
/// 物镜相关
// ToolBarNosepiece *m_toolbarNosepiece;
Qly::ToolBarLens * m_toolbarLens = nullptr;
Qly::LensManageDialog * m_lensDialog = nullptr;
/// 相机相关
Qly::ToolBarCamera *m_toolbarCamera = nullptr;
Qly::CameraImage * m_cameraImage = nullptr;
Qly::IndustryCamera * m_camera = nullptr;
Qly::CameraFactory * m_cameraFind = nullptr;
AboutDialog *m_aboutDialog = nullptr;
QString m_password;
bool m_saveImage;
/// 以下是公司信息,在派生类里会设置这些内容
QString m_appName;
QString m_companyName;
QString m_author;
QString m_website;
QString m_email;
QString m_version;
QString m_phoneNumber;
QIcon m_appIcon;
};
#endif // MAINWINDOW_H
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xhyangxianjun/JHPhoto_BASIC.git
git@gitee.com:xhyangxianjun/JHPhoto_BASIC.git
xhyangxianjun
JHPhoto_BASIC
JHPhoto_BASIC
master

搜索帮助

D67c1975 1850385 1daf7b77 1850385