-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmainwindow.cpp
66 lines (51 loc) · 1.39 KB
/
mainwindow.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "WebCamera.h"
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QGraphicsPixmapItem>
QGraphicsView* gView = NULL;
QGraphicsScene* gScene = NULL;
WebCamera *gCam = NULL;
QGraphicsPixmapItem* gItem = NULL;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->btnOpenCamera, &QPushButton::clicked, this, &MainWindow::onOpenCamera);
connect(ui->btnCloseCamera, &QPushButton::clicked, this, &MainWindow::onCloseCamera);
connect(ui->btnGrabImage, &QPushButton::clicked, this, &MainWindow::onGrabImage);
gCam = new WebCamera();
connect(gCam, &WebCamera::onImageOutput, this, &MainWindow::onImageReceive);
gScene = new QGraphicsScene(0, 0, 800, 600);
gView = new QGraphicsView;
gView->setScene(gScene);
ui->gridLayout_cam->addWidget(gView); //setCentralWidget(view);
gItem = new QGraphicsPixmapItem;
gScene->addItem(gItem);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::onImageReceive(QImage& image)
{
if(gScene){
gScene->setSceneRect(image.rect());
}
if(gItem){
gItem->setPixmap(QPixmap::fromImage(image));
}
}
void MainWindow::onOpenCamera()
{
gCam->OpenCamera();
}
void MainWindow::onCloseCamera()
{
gCam->CloseCamera();
}
void MainWindow::onGrabImage()
{
}