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

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

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

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

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

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

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

Loading…
Cancel
Save