#include "widget.h" #include "ui_widget.h" #include #include #include #include #include #include "cameraplayer.h" widget::widget(QWidget *parent) : QWidget(parent), ui(new Ui::widget) { ui->setupUi(this); initCameraPlayer(); } widget::~widget() { delete m_cameraPlayer1; m_cameraPlayer1 = nullptr; delete m_cameraPlayer2; m_cameraPlayer2 = nullptr; delete m_cameraPlayer3; m_cameraPlayer3 = nullptr; delete m_cameraPlayer4; m_cameraPlayer4 = nullptr; delete ui; } /* 开启预览按钮 */ void widget::on_pBtn_startRealPlay_clicked() { m_cameraPlayer1->startPlay(); m_cameraPlayer2->startPlay(); m_cameraPlayer3->startPlay(); m_cameraPlayer4->startPlay(); } /* 重新创建窗口 */ void widget::on_pBtn_reCreate_clicked() { if(m_cameraPlayer1 != nullptr) { delete m_cameraPlayer1; m_cameraPlayer1 = nullptr; } if(m_cameraPlayer2 != nullptr) { delete m_cameraPlayer2; m_cameraPlayer2 = nullptr; } if(m_cameraPlayer3 != nullptr) { delete m_cameraPlayer3; m_cameraPlayer3 = nullptr; } if(m_cameraPlayer4 != nullptr) { delete m_cameraPlayer4; m_cameraPlayer4 = nullptr; } initCameraPlayer(); on_pBtn_startRealPlay_clicked(); } /* 窗口缩放事件 */ void widget::resizeEvent(QResizeEvent *event) { QWidget::resizeEvent(event); /* 获取窗口大小 */ QSize size = ui->widget_display1->size(); // ui->m_cameraPlayer1->resize(size); // ui->m_cameraPlayer2->resize(size); // ui->m_cameraPlayer3->resize(size); // ui->m_cameraPlayer4->resize(size); m_cameraPlayer1->setPlayWndSize(size); m_cameraPlayer2->setPlayWndSize(size); m_cameraPlayer3->setPlayWndSize(size); m_cameraPlayer4->setPlayWndSize(size); } /* 显示事件 */ void widget::showEvent(QShowEvent *event) { QWidget::showEvent(event); /* 获取窗口大小 */ QSize size = ui->widget_display1->size(); m_cameraPlayer1->setPlayWndSize(size); m_cameraPlayer2->setPlayWndSize(size); m_cameraPlayer3->setPlayWndSize(size); m_cameraPlayer4->setPlayWndSize(size); } void widget::initCameraPlayer() { /* 通过文件读取摄像机IP信息 */ readCameraInfo(); /* 创建摄像机播放器 */ m_cameraPlayer1 = new CameraPlayer; // QString imagePath = QApplication::applicationDirPath() + "/2.jpg"; // QImage image(imagePath); // QImage image(1653, 899, QImage::Format_RGB888); QImage image(1666, 720, QImage::Format_RGB888); // QImage image(1280, 720, QImage::Format_RGB888); m_cameraPlayer1->setImage(image); m_cameraPlayer1->initCamera("192.1.2.73", 8000, "admin", "LH123456"); m_cameraPlayer1->startRealPlay(1); /* 设置播放窗口 */ m_cameraPlayer1->setPlayWndParent(ui->widget_display1); m_cameraPlayer1->setPlayWndSize(ui->widget_display1->size()); /* 创建其他播放窗口 */ // m_cameraPlayer2 = new CameraPlayer; // m_cameraPlayer2->setImage(image); m_cameraPlayer2->initCamera("172.16.9.31", 8000, "admin", "LH123456"); m_cameraPlayer2->startRealPlay(1); m_cameraPlayer2->setPlayWndParent(ui->widget_display2); m_cameraPlayer2->setPlayWndSize(ui->widget_display2->size()); m_cameraPlayer3 = new CameraPlayer; m_cameraPlayer3->setImage(image); // m_cameraPlayer3->initCamera("192.1.2.73", 8000, "admin", "LH123456"); // m_cameraPlayer3->startRealPlay(1); // m_cameraPlayer3->setPlayWndParent(ui->widget_display3); // m_cameraPlayer3->setPlayWndSize(ui->widget_display3->size()); m_cameraPlayer4 = new CameraPlayer; m_cameraPlayer4->setImage(image); // m_cameraPlayer4->initCamera("192.1.2.73", 8000, "admin", "LH123456"); // m_cameraPlayer4->startRealPlay(1); // m_cameraPlayer4->setPlayWndParent(ui->widget_display4); // m_cameraPlayer4->setPlayWndSize(ui->widget_display4->size()); } /* 读取摄像机IP信息 */ void widget::readCameraInfo() { QSettings settings("camera.ini", QSettings::IniFormat); settings.beginGroup("Camera1"); CameraInfo_t info1; info1.cameraIp = settings.value("IP", "").toString(); info1.cameraPort = settings.value("Port", 0).toInt(); info1.username = settings.value("Username", "").toString(); info1.password = settings.value("Password", "").toString(); settings.endGroup(); m_listCameraInfo.append(info1); settings.beginGroup("Camera2"); CameraInfo_t info2; info2.cameraIp = settings.value("IP", "").toString(); info2.cameraPort = settings.value("Port", 0).toInt(); info2.username = settings.value("Username", "").toString(); info2.password = settings.value("Password", "").toString(); settings.endGroup(); m_listCameraInfo.append(info2); settings.beginGroup("Camera3"); CameraInfo_t info3; info3.cameraIp = settings.value("IP", "").toString(); info3.cameraPort = settings.value("Port", 0).toInt(); info3.username = settings.value("Username", "").toString(); info3.password = settings.value("Password", "").toString(); settings.endGroup(); m_listCameraInfo.append(info3); settings.beginGroup("Camera4"); CameraInfo_t info4; info4.cameraIp = settings.value("IP", "").toString(); info4.cameraPort = settings.value("Port", 0).toInt(); info4.username = settings.value("Username", "").toString(); info4.password = settings.value("Password", "").toString(); settings.endGroup(); m_listCameraInfo.append(info4); }