fix: 调整时间间隔框样式,修复线程问题

pull/6/head
cbwu 7 months ago
parent e65ea9bc03
commit 9c694fa004

@ -1,9 +1,7 @@
#include "encodemodelcamera.h" #include "encodemodelcamera.h"
#include "global.h" #include "global.h"
EncodeModelCamera::EncodeModelCamera(QObject *parent) EncodeModelCamera::EncodeModelCamera(QObject *parent) : QObject{parent} {
: QObject{parent}
{
cameraUDP = new QUdpSocket(this); cameraUDP = new QUdpSocket(this);
cameraUDP->bind(QHostAddress("127.0.0.1"), 8899); cameraUDP->bind(QHostAddress("127.0.0.1"), 8899);
@ -16,8 +14,7 @@ EncodeModelCamera::EncodeModelCamera(QObject *parent)
* @brief * @brief
* @param cmdDataArray ID * @param cmdDataArray ID
*/ */
void EncodeModelCamera::SendCMD(QByteArray cmdDataArray) void EncodeModelCamera::SendCMD(QByteArray cmdDataArray) {
{
cmdArray.clear(); cmdArray.clear();
cmdArray.insert(0, 0xFA); cmdArray.insert(0, 0xFA);
cmdArray.insert(1, 0xFA); cmdArray.insert(1, 0xFA);
@ -41,7 +38,8 @@ void EncodeModelCamera::ReadData(){
QHostAddress address; QHostAddress address;
quint16 port; quint16 port;
array.resize(cameraUDP->bytesAvailable()); // 根据可读数据来设置空间大小 array.resize(cameraUDP->bytesAvailable()); // 根据可读数据来设置空间大小
cameraUDP->readDatagram(array.data(),array.size(),&address,&port); //读取数据 cameraUDP->readDatagram(array.data(), array.size(), &address,
&port); // 读取数据
// 校验 // 校验
int len = array.size(); int len = array.size();
if (len <= 2) { if (len <= 2) {

@ -1,16 +1,17 @@
#ifndef ENCODEMODELCAMERA_H #ifndef ENCODEMODELCAMERA_H
#define ENCODEMODELCAMERA_H #define ENCODEMODELCAMERA_H
#include <QObject>
#include <QUdpSocket>
#include <QByteArray> #include <QByteArray>
#include <QDataStream> #include <QDataStream>
#include <QObject>
#include <QUdpSocket>
class EncodeModelCamera : public QObject class EncodeModelCamera : public QObject {
{
Q_OBJECT Q_OBJECT
public: public:
explicit EncodeModelCamera(QObject *parent = nullptr); explicit EncodeModelCamera(QObject *parent = nullptr);
// ~EncodeModelCamera();
private: private:
QByteArray cmdArray; QByteArray cmdArray;
QUdpSocket *cameraUDP; QUdpSocket *cameraUDP;

@ -2,34 +2,32 @@
#include "ui_modelcameradlg.h" #include "ui_modelcameradlg.h"
ModelCameraDlg::ModelCameraDlg(QWidget *parent) ModelCameraDlg::ModelCameraDlg(QWidget *parent)
: QDialog(parent) : QDialog(parent), ui(new Ui::ModelCameraDlg) {
, ui(new Ui::ModelCameraDlg)
{
ui->setupUi(this); ui->setupUi(this);
InitialComboBox(); InitialComboBox();
cameraCMDThread = new QThread(this); cameraCMDThread = new QThread();
encodeModelCamera = new EncodeModelCamera(this); encodeModelCamera = new EncodeModelCamera();
encodeModelCamera->moveToThread(cameraCMDThread); encodeModelCamera->moveToThread(cameraCMDThread);
cameraCMDThread->start(); cameraCMDThread->start();
connect(this,&ModelCameraDlg::on_sendCmdData_signal,encodeModelCamera,&EncodeModelCamera::SendCMD); connect(this, &ModelCameraDlg::on_sendCmdData_signal, encodeModelCamera,
connect(encodeModelCamera,&EncodeModelCamera::UDP_Receive,this, &ModelCameraDlg::on_receiveUDP); &EncodeModelCamera::SendCMD);
connect(encodeModelCamera, &EncodeModelCamera::UDP_Receive, this,
&ModelCameraDlg::on_receiveUDP);
} }
ModelCameraDlg::~ModelCameraDlg() ModelCameraDlg::~ModelCameraDlg() {
{
delete ui; delete ui;
if(encodeModelCamera!=nullptr) delete encodeModelCamera; if (cameraCMDThread != nullptr) {
if(cameraCMDThread!=nullptr)
{
cameraCMDThread->quit(); cameraCMDThread->quit();
cameraCMDThread->wait(); cameraCMDThread->wait();
encodeModelCamera->deleteLater();
cameraCMDThread->deleteLater();
} }
} }
void ModelCameraDlg::InitialComboBox() void ModelCameraDlg::InitialComboBox() {
{
ui->photoTimeDbSpinBox->setSuffix("s"); ui->photoTimeDbSpinBox->setSuffix("s");
// 快门速度 // 快门速度
@ -92,37 +90,35 @@ void ModelCameraDlg::on_receiveUDP(QByteArray arrdata){
int shutterSpd = (arrdata[7] << 8) | arrdata[8]; // 快门速度(倒数) int shutterSpd = (arrdata[7] << 8) | arrdata[8]; // 快门速度(倒数)
ui->lineEdit_10->setText(QString("1/%1").arg(shutterSpd)); ui->lineEdit_10->setText(QString("1/%1").arg(shutterSpd));
int iso = (arrdata[9]<<8)|arrdata[10]; //iso固定值 -1表示50~1600-2表示50~800 int iso =
(arrdata[9] << 8) | arrdata[10]; // iso固定值 -1表示50~1600-2表示50~800
if (iso == -1) { if (iso == -1) {
ui->lineEdit_14->setText("50~1600"); ui->lineEdit_14->setText("50~1600");
} } else if (iso == -2) {
else if(iso==-2){
ui->lineEdit_14->setText("50~800"); ui->lineEdit_14->setText("50~800");
} } else {
else{
QString qstr = QString("%1").arg(iso); QString qstr = QString("%1").arg(iso);
ui->lineEdit_14->setText(qstr); ui->lineEdit_14->setText(qstr);
} }
int awb = (arrdata[11]<<8)|arrdata[12]; //白平衡值 0x0001自动0x0002日光 int awb =
(arrdata[11] << 8) | arrdata[12]; // 白平衡值 0x0001自动0x0002日光
if (awb == 1) { if (awb == 1) {
ui->lineEdit_9->setText("自动"); ui->lineEdit_9->setText("自动");
} } else if (awb == 2) {
else if(awb==2){
ui->lineEdit_9->setText("日光"); ui->lineEdit_9->setText("日光");
} }
int colorMode = (arrdata[13]<<8)|arrdata[14]; //色彩模式 0x0001艳丽0x0002标准 int colorMode =
(arrdata[13] << 8) | arrdata[14]; // 色彩模式 0x0001艳丽0x0002标准
if (colorMode == 1) { if (colorMode == 1) {
ui->lineEdit_12->setText("艳丽"); ui->lineEdit_12->setText("艳丽");
} } else if (colorMode == 2) {
else if(colorMode==2){
ui->lineEdit_12->setText("标准"); ui->lineEdit_12->setText("标准");
} }
} }
// 开始拍照点击事件 // 开始拍照点击事件
void ModelCameraDlg::on_startPhotoBtn_clicked() void ModelCameraDlg::on_startPhotoBtn_clicked() {
{
quint8 photoTime = ui->photoTimeDbSpinBox->value() * 10; quint8 photoTime = ui->photoTimeDbSpinBox->value() * 10;
cmdDataArray.clear(); cmdDataArray.clear();
@ -135,8 +131,7 @@ void ModelCameraDlg::on_startPhotoBtn_clicked()
} }
// 停止拍照 // 停止拍照
void ModelCameraDlg::on_stopPhotoBtn_clicked() void ModelCameraDlg::on_stopPhotoBtn_clicked() {
{
cmdDataArray.clear(); cmdDataArray.clear();
cmdDataArray.insert(0, 0x01); cmdDataArray.insert(0, 0x01);
cmdDataArray.insert(1, 0xA1); cmdDataArray.insert(1, 0xA1);
@ -146,8 +141,7 @@ void ModelCameraDlg::on_stopPhotoBtn_clicked()
} }
// 开机 // 开机
void ModelCameraDlg::on_ONBtn_clicked() void ModelCameraDlg::on_ONBtn_clicked() {
{
cmdDataArray.clear(); cmdDataArray.clear();
cmdDataArray.insert(0, 0x01); cmdDataArray.insert(0, 0x01);
cmdDataArray.insert(1, 0xA1); cmdDataArray.insert(1, 0xA1);
@ -157,8 +151,7 @@ void ModelCameraDlg::on_ONBtn_clicked()
} }
// 关机 // 关机
void ModelCameraDlg::on_OFFBtn_clicked() void ModelCameraDlg::on_OFFBtn_clicked() {
{
cmdDataArray.clear(); cmdDataArray.clear();
cmdDataArray.insert(0, 0x01); cmdDataArray.insert(0, 0x01);
cmdDataArray.insert(1, 0xA1); cmdDataArray.insert(1, 0xA1);
@ -168,26 +161,21 @@ void ModelCameraDlg::on_OFFBtn_clicked()
} }
// 播放视频 // 播放视频
void ModelCameraDlg::on_pushButton_5_clicked() void ModelCameraDlg::on_pushButton_5_clicked() {
{
QString str = ui->pushButton_5->text(); QString str = ui->pushButton_5->text();
if(str == "播放视频") if (str == "播放视频") {
{
QString ip = ui->videoIPLineEdit->text(); QString ip = ui->videoIPLineEdit->text();
ui->cameraVideoWidget->play(); ui->cameraVideoWidget->play();
ui->cameraVideoWidget->setUrl(ip); ui->cameraVideoWidget->setUrl(ip);
ui->pushButton_5->setText("暂停播放"); ui->pushButton_5->setText("暂停播放");
} } else {
else
{
ui->cameraVideoWidget->stop(); ui->cameraVideoWidget->stop();
ui->pushButton_5->setText("播放视频"); ui->pushButton_5->setText("播放视频");
} }
} }
// 快门速度 // 快门速度
void ModelCameraDlg::on_SSComboBox_activated(int index) void ModelCameraDlg::on_SSComboBox_activated(int index) {
{
QString tmp = ui->SSComboBox->itemText(index); QString tmp = ui->SSComboBox->itemText(index);
QString strSS = tmp.right(tmp.length() - 2); QString strSS = tmp.right(tmp.length() - 2);
qint16 hexValue = strSS.toShort(); // qint16 hexValue = strSS.toShort(); //
@ -208,11 +196,12 @@ void ModelCameraDlg::on_SSComboBox_activated(int index)
} }
// ISO // ISO
void ModelCameraDlg::on_ISOComboBox_activated(int index) void ModelCameraDlg::on_ISOComboBox_activated(int index) {
{
QString strSS = ui->ISOComboBox->itemText(index); QString strSS = ui->ISOComboBox->itemText(index);
if(index == 0) strSS = "-2"; if (index == 0)
else if(index == 1) strSS = "-1"; strSS = "-2";
else if (index == 1)
strSS = "-1";
qint16 hexValue = strSS.toShort(); // qint16 hexValue = strSS.toShort(); //
cmdDataArray.clear(); cmdDataArray.clear();
@ -232,8 +221,7 @@ void ModelCameraDlg::on_ISOComboBox_activated(int index)
} }
// AWB白平衡 // AWB白平衡
void ModelCameraDlg::on_AWBComboBox_activated(int index) void ModelCameraDlg::on_AWBComboBox_activated(int index) {
{
quint16 hexValue = index + 1; // quint16 hexValue = index + 1; //
cmdDataArray.clear(); cmdDataArray.clear();
@ -253,8 +241,7 @@ void ModelCameraDlg::on_AWBComboBox_activated(int index)
} }
// 相机模式 // 相机模式
void ModelCameraDlg::on_cameraModelComboBox_activated(int index) void ModelCameraDlg::on_cameraModelComboBox_activated(int index) {
{
// quint16 hexValue = index + 1;// // quint16 hexValue = index + 1;//
cmdDataArray.clear(); cmdDataArray.clear();
@ -270,8 +257,7 @@ void ModelCameraDlg::on_cameraModelComboBox_activated(int index)
} }
// 色彩模式 // 色彩模式
void ModelCameraDlg::on_ColorModelComboBox_activated(int index) void ModelCameraDlg::on_ColorModelComboBox_activated(int index) {
{
quint16 hexValue = index + 1; // quint16 hexValue = index + 1; //
cmdDataArray.clear(); cmdDataArray.clear();
@ -301,9 +287,7 @@ void ModelCameraDlg::quireOnorOff(){
} }
// 查询图传状态 // 查询图传状态
void ModelCameraDlg::quirePictranStatus(){ void ModelCameraDlg::quirePictranStatus() {}
}
// 查询快门速度 // 查询快门速度
void ModelCameraDlg::quireShutterSpeed() { void ModelCameraDlg::quireShutterSpeed() {
cmdDataArray.clear(); cmdDataArray.clear();
@ -313,7 +297,6 @@ void ModelCameraDlg::quireShutterSpeed(){
cmdDataArray.insert(3, 0xFF); cmdDataArray.insert(3, 0xFF);
cmdDataArray.insert(4, 0xFF); cmdDataArray.insert(4, 0xFF);
emit on_sendCmdData_signal(cmdDataArray); emit on_sendCmdData_signal(cmdDataArray);
} }
// 查询ISO // 查询ISO
void ModelCameraDlg::quireISO() { void ModelCameraDlg::quireISO() {
@ -355,9 +338,7 @@ void ModelCameraDlg::quireColorMode(){
emit on_sendCmdData_signal(cmdDataArray); emit on_sendCmdData_signal(cmdDataArray);
} }
// 查询温度 // 查询温度
void ModelCameraDlg::quireTempe(){ void ModelCameraDlg::quireTempe() {}
}
// 查询照片总数,以及各个视角的照片数量 // 查询照片总数,以及各个视角的照片数量
void ModelCameraDlg::quirePicNumAll() { void ModelCameraDlg::quirePicNumAll() {
cmdDataArray.clear(); cmdDataArray.clear();

@ -70,7 +70,7 @@
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="2,2,5"> <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="2,2,5">
<property name="spacing"> <property name="spacing">
<number>2</number> <number>8</number>
</property> </property>
<property name="leftMargin"> <property name="leftMargin">
<number>2</number> <number>2</number>
@ -146,7 +146,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="buttonSymbols"> <property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::UpDownArrows</enum> <enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property> </property>
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>

@ -243,4 +243,7 @@ QTableWidget::verticalHeader
border-right: 1px solid #DADADA; border-right: 1px solid #DADADA;
} }
QDoubleSpinBox
{
color:white;
}

Loading…
Cancel
Save