widget.cpp 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. #include "widget.h"
  2. #include "ui_widget.h"
  3. #include <QResizeEvent>
  4. #include <QApplication>
  5. #include <QLibrary>
  6. #include <QDebug>
  7. #include <QSettings>
  8. #include "cameraplayer.h"
  9. widget::widget(QWidget *parent) :
  10. QWidget(parent),
  11. ui(new Ui::widget)
  12. {
  13. ui->setupUi(this);
  14. initCameraPlayer();
  15. }
  16. widget::~widget()
  17. {
  18. delete m_cameraPlayer1;
  19. m_cameraPlayer1 = nullptr;
  20. delete m_cameraPlayer2;
  21. m_cameraPlayer2 = nullptr;
  22. delete m_cameraPlayer3;
  23. m_cameraPlayer3 = nullptr;
  24. delete m_cameraPlayer4;
  25. m_cameraPlayer4 = nullptr;
  26. delete ui;
  27. }
  28. /* 开启预览按钮 */
  29. void widget::on_pBtn_startRealPlay_clicked()
  30. {
  31. m_cameraPlayer1->startPlay();
  32. m_cameraPlayer2->startPlay();
  33. m_cameraPlayer3->startPlay();
  34. m_cameraPlayer4->startPlay();
  35. }
  36. /* 重新创建窗口 */
  37. void widget::on_pBtn_reCreate_clicked()
  38. {
  39. if(m_cameraPlayer1 != nullptr)
  40. {
  41. delete m_cameraPlayer1;
  42. m_cameraPlayer1 = nullptr;
  43. }
  44. if(m_cameraPlayer2 != nullptr)
  45. {
  46. delete m_cameraPlayer2;
  47. m_cameraPlayer2 = nullptr;
  48. }
  49. if(m_cameraPlayer3 != nullptr)
  50. {
  51. delete m_cameraPlayer3;
  52. m_cameraPlayer3 = nullptr;
  53. }
  54. if(m_cameraPlayer4 != nullptr)
  55. {
  56. delete m_cameraPlayer4;
  57. m_cameraPlayer4 = nullptr;
  58. }
  59. initCameraPlayer();
  60. on_pBtn_startRealPlay_clicked();
  61. }
  62. /* 窗口缩放事件 */
  63. void widget::resizeEvent(QResizeEvent *event)
  64. {
  65. QWidget::resizeEvent(event);
  66. /* 获取窗口大小 */
  67. QSize size = ui->widget_display1->size();
  68. // ui->m_cameraPlayer1->resize(size);
  69. // ui->m_cameraPlayer2->resize(size);
  70. // ui->m_cameraPlayer3->resize(size);
  71. // ui->m_cameraPlayer4->resize(size);
  72. m_cameraPlayer1->setPlayWndSize(size);
  73. m_cameraPlayer2->setPlayWndSize(size);
  74. m_cameraPlayer3->setPlayWndSize(size);
  75. m_cameraPlayer4->setPlayWndSize(size);
  76. }
  77. /* 显示事件 */
  78. void widget::showEvent(QShowEvent *event)
  79. {
  80. QWidget::showEvent(event);
  81. /* 获取窗口大小 */
  82. QSize size = ui->widget_display1->size();
  83. m_cameraPlayer1->setPlayWndSize(size);
  84. m_cameraPlayer2->setPlayWndSize(size);
  85. m_cameraPlayer3->setPlayWndSize(size);
  86. m_cameraPlayer4->setPlayWndSize(size);
  87. }
  88. void widget::initCameraPlayer()
  89. {
  90. /* 通过文件读取摄像机IP信息 */
  91. readCameraInfo();
  92. /* 创建摄像机播放器 */
  93. m_cameraPlayer1 = new CameraPlayer;
  94. // QString imagePath = QApplication::applicationDirPath() + "/2.jpg";
  95. // QImage image(imagePath);
  96. // QImage image(1653, 899, QImage::Format_RGB888);
  97. QImage image(1666, 720, QImage::Format_RGB888);
  98. // QImage image(1280, 720, QImage::Format_RGB888);
  99. m_cameraPlayer1->setImage(image);
  100. m_cameraPlayer1->initCamera("192.1.2.73", 8000, "admin", "LH123456");
  101. m_cameraPlayer1->startRealPlay(1);
  102. /* 设置播放窗口 */
  103. m_cameraPlayer1->setPlayWndParent(ui->widget_display1);
  104. m_cameraPlayer1->setPlayWndSize(ui->widget_display1->size());
  105. /* 创建其他播放窗口 */
  106. // m_cameraPlayer2 = new CameraPlayer;
  107. // m_cameraPlayer2->setImage(image);
  108. m_cameraPlayer2->initCamera("172.16.9.31", 8000, "admin", "LH123456");
  109. m_cameraPlayer2->startRealPlay(1);
  110. m_cameraPlayer2->setPlayWndParent(ui->widget_display2);
  111. m_cameraPlayer2->setPlayWndSize(ui->widget_display2->size());
  112. m_cameraPlayer3 = new CameraPlayer;
  113. m_cameraPlayer3->setImage(image);
  114. // m_cameraPlayer3->initCamera("192.1.2.73", 8000, "admin", "LH123456");
  115. // m_cameraPlayer3->startRealPlay(1);
  116. // m_cameraPlayer3->setPlayWndParent(ui->widget_display3);
  117. // m_cameraPlayer3->setPlayWndSize(ui->widget_display3->size());
  118. m_cameraPlayer4 = new CameraPlayer;
  119. m_cameraPlayer4->setImage(image);
  120. // m_cameraPlayer4->initCamera("192.1.2.73", 8000, "admin", "LH123456");
  121. // m_cameraPlayer4->startRealPlay(1);
  122. // m_cameraPlayer4->setPlayWndParent(ui->widget_display4);
  123. // m_cameraPlayer4->setPlayWndSize(ui->widget_display4->size());
  124. }
  125. /* 读取摄像机IP信息 */
  126. void widget::readCameraInfo()
  127. {
  128. QSettings settings("camera.ini", QSettings::IniFormat);
  129. settings.beginGroup("Camera1");
  130. CameraInfo_t info1;
  131. info1.cameraIp = settings.value("IP", "").toString();
  132. info1.cameraPort = settings.value("Port", 0).toInt();
  133. info1.username = settings.value("Username", "").toString();
  134. info1.password = settings.value("Password", "").toString();
  135. settings.endGroup();
  136. m_listCameraInfo.append(info1);
  137. settings.beginGroup("Camera2");
  138. CameraInfo_t info2;
  139. info2.cameraIp = settings.value("IP", "").toString();
  140. info2.cameraPort = settings.value("Port", 0).toInt();
  141. info2.username = settings.value("Username", "").toString();
  142. info2.password = settings.value("Password", "").toString();
  143. settings.endGroup();
  144. m_listCameraInfo.append(info2);
  145. settings.beginGroup("Camera3");
  146. CameraInfo_t info3;
  147. info3.cameraIp = settings.value("IP", "").toString();
  148. info3.cameraPort = settings.value("Port", 0).toInt();
  149. info3.username = settings.value("Username", "").toString();
  150. info3.password = settings.value("Password", "").toString();
  151. settings.endGroup();
  152. m_listCameraInfo.append(info3);
  153. settings.beginGroup("Camera4");
  154. CameraInfo_t info4;
  155. info4.cameraIp = settings.value("IP", "").toString();
  156. info4.cameraPort = settings.value("Port", 0).toInt();
  157. info4.username = settings.value("Username", "").toString();
  158. info4.password = settings.value("Password", "").toString();
  159. settings.endGroup();
  160. m_listCameraInfo.append(info4);
  161. }