From 7d689397078a433a1a6213991c170a24e373b43a Mon Sep 17 00:00:00 2001 From: zheaven <1151828901@qq.com> Date: Fri, 4 Nov 2022 21:55:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- control/data/zsettings.cpp | 20 ++++++++++++++++++++ control/data/zsettings.h | 8 ++++++++ ui/home.cpp | 34 +++++++++++++++++++++++++++------- ui/home.ui | 31 +++++++------------------------ ui/singlesend.cpp | 15 +++++++++++++-- ui/singlesend.h | 3 ++- ui/singlesend.ui | 19 +------------------ 7 files changed, 78 insertions(+), 52 deletions(-) diff --git a/control/data/zsettings.cpp b/control/data/zsettings.cpp index f7154dd..dd941df 100644 --- a/control/data/zsettings.cpp +++ b/control/data/zsettings.cpp @@ -88,3 +88,23 @@ void ZSettings::setHexFormalSend(bool checked) { this->setValue("SEND_HEX",checked); this->endGroup(); } + +int ZSettings::getCycleValue() const { + return this->value("SINGLE/CYCLE").toInt(); +} + +void ZSettings::setCycleValue(int value) { + this->beginGroup("SINGLE"); + this->setValue("CYCLE",value); + this->endGroup(); +} + +bool ZSettings::getIsSendEnter() const { + return this->value("SINGLE/ENTER").toBool(); +} + +void ZSettings::setSendEnter(bool icChecked) { + this->beginGroup("SINGLE"); + this->setValue("ENTER",icChecked); + this->endGroup(); +} diff --git a/control/data/zsettings.h b/control/data/zsettings.h index 338e041..b4b546a 100644 --- a/control/data/zsettings.h +++ b/control/data/zsettings.h @@ -43,6 +43,14 @@ public: bool getHexFormalSend()const; //! 设置发送HEX void setHexFormalSend(bool checked); + //! 获取周期时间 + int getCycleValue() const; + //! 设置周期时间 + void setCycleValue(int value); + //! 获取是否发送新行 + bool getIsSendEnter() const; + //! 设置是否发送新行 + void setSendEnter(bool icChecked); virtual ~ZSettings(); }; diff --git a/ui/home.cpp b/ui/home.cpp index f767d01..05364ae 100644 --- a/ui/home.cpp +++ b/ui/home.cpp @@ -5,8 +5,10 @@ // You may need to build the project (run Qt uic code generator) to get "ui_Home.h" resolved #include #include +#include #include #include +#include #include "home.h" #include "ui_Home.h" @@ -19,6 +21,10 @@ Home::Home(QWidget *parent) : QWidget(parent), ui(new Ui::Home),mpZControl(ZCont mpSingleSend = new SingleSend(); ui->tabWidget->addTab(mpSingleSend, tr("单条发送")); connect(mpSingleSend,SIGNAL(signalSerialWrite(QByteArray)),this,SLOT(slotSerialWrite(QByteArray))); + connect(mpSingleSend,&SingleSend::signalClearSendInfo,[=](){ + this->m_SendNumber = 0; + ui->label_SendNumber->setText(tr("发送:%0").arg(m_SendNumber)); + }); mpMultipleSend = new MultipleSend(); ui->tabWidget->addTab(mpMultipleSend, tr("多条发送")); @@ -54,6 +60,27 @@ Home::Home(QWidget *parent) : QWidget(parent), ui(new Ui::Home),mpZControl(ZCont connect(mpZControl->getMpSerialPort(), SIGNAL(error(QSerialPort::SerialPortError)),this,SLOT(slotSerialError(QSerialPort::SerialPortError))); connect(mpZControl->getMpSerialPort(), SIGNAL(signalSerialPortListChange(const QStringList &, QString)),this,SLOT(slotSerialPortListChange(const QStringList &,QString))); connect(ui->pBn_TtySet,SIGNAL(clicked()),this,SLOT(slotPBnTtySetClicked())); + connect(ui->pBn_Clear,&QPushButton::clicked,[=](){ + m_RecNumber = 0; + ui->label_RecNumber->setText(tr("接收:%0").arg(m_RecNumber)); + }); + connect(ui->pBn_Save,&QPushButton::clicked,[=](){ + QString fileName = QFileDialog::getSaveFileName(this,tr("选择文件夹"),"./","文本(*.txt);;所有文件(*)"); + if(fileName.isEmpty()) + { + return ; + } + QtConcurrent::run([=](){ + QFile file(fileName); + if(!file.open(QIODevice::WriteOnly)) + { + QMessageBox::warning(this, tr("提示"),tr("文件保存失败。")); + return; + } + file.write(ui->tEdit_Rec->toPlainText().toLocal8Bit()); + file.close(); + }); + }); } Home::~Home() { @@ -67,13 +94,6 @@ void Home::timerEvent(QTimerEvent *event) { QObject::timerEvent(event); QString currentTimeStr = QTime::currentTime().toString("hh:mm:ss"); ui->label_CurrentTime->setText(tr("当前时间 %0").arg(currentTimeStr)); - -// static int updateHz = 0; -// if(!mpZControl->getMpSerialPort()->isOpen()&&updateHz%2==0) { -// ui->cbBox_Tty->clear(); -// ui->cbBox_Tty->addItems(mpZControl->getMpSerialPort()->getTtyList()); -// } -// updateHz++; } void Home::slotPBnTtySetClicked() { diff --git a/ui/home.ui b/ui/home.ui index 7cff556..07dc7fe 100644 --- a/ui/home.ui +++ b/ui/home.ui @@ -41,13 +41,6 @@ - - - - RTS - - - @@ -65,9 +58,6 @@ - - - @@ -105,13 +95,6 @@ - - - - 自动保存 - - - @@ -133,13 +116,6 @@ - - - - ms - - - @@ -255,6 +231,13 @@ p, li { white-space: pre-wrap; } + + + + RTS + + + diff --git a/ui/singlesend.cpp b/ui/singlesend.cpp index c095c1f..8030b4c 100644 --- a/ui/singlesend.cpp +++ b/ui/singlesend.cpp @@ -12,6 +12,14 @@ SingleSend::SingleSend(QWidget *parent) : QWidget(parent), ui(new Ui::SingleSend),mpControl(ZControl::instance()) { ui->setupUi(this); + + connect(ui->pBn_Clear,&QPushButton::clicked,[=](){ + ui->tEdit_Send->clear(); + emit signalClearSendInfo(); + }); + + ui->spin_Cycle->setValue(mpControl->getMpSettings()->getCycleValue()); + ui->ckBox_SendEnter->setChecked(mpControl->getMpSettings()->getIsSendEnter()); ui->ckBox_HexSend->setChecked(mpControl->getMpSettings()->getHexFormalSend()); m_CurrentArray = mpControl->getMpSettings()->getTextSend(); switch(ui->ckBox_HexSend->checkState()){ @@ -19,7 +27,7 @@ SingleSend::SingleSend(QWidget *parent) : ui->tEdit_Send->setText(QString::fromLocal8Bit(m_CurrentArray)); break; case Qt::Checked: - ui->tEdit_Send->setText(m_CurrentArray.toHex('%c ')); + ui->tEdit_Send->setText(m_CurrentArray.toHex(' ')); break; } connect(ui->tEdit_Send, SIGNAL(textChanged()),this,SLOT(slotTextSendChanged())); @@ -31,6 +39,8 @@ SingleSend::SingleSend(QWidget *parent) : SingleSend::~SingleSend() { mpControl->getMpSettings()->setTextSend(m_CurrentArray); mpControl->getMpSettings()->setHexFormalSend(ui->ckBox_HexSend->isChecked()); + mpControl->getMpSettings()->setSendEnter(ui->ckBox_SendEnter->isChecked()); + mpControl->getMpSettings()->setCycleValue(ui->spin_Cycle->value()); delete ui; } @@ -42,6 +52,7 @@ void SingleSend::slotpBnSendClicked() { { return; } + ui->ckBox_SendEnter->isChecked()?m_CurrentArray.append('\n'):m_CurrentArray; emit signalSerialWrite(m_CurrentArray); } } @@ -52,7 +63,7 @@ void SingleSend::slotHexSendStateChanged(int state) { ui->tEdit_Send->setText(QString::fromLocal8Bit(m_CurrentArray)); break; case Qt::Checked: - ui->tEdit_Send->setText(m_CurrentArray.toHex('%c ')); + ui->tEdit_Send->setText(m_CurrentArray.toHex(' ')); break; } } diff --git a/ui/singlesend.h b/ui/singlesend.h index a0de655..24b553a 100644 --- a/ui/singlesend.h +++ b/ui/singlesend.h @@ -26,6 +26,7 @@ public: virtual ~SingleSend() override; signals: void signalSerialWrite(QByteArray array); + void signalClearSendInfo(); private slots: //! 点击发送 void slotpBnSendClicked(); @@ -33,9 +34,9 @@ private slots: void slotHexSendStateChanged(int state); //! 发送端文本改变 void slotTextSendChanged(); - //! 循环发送 void slotTimerSendStateChanged(int state); + private: Ui::SingleSend *ui; ZControl *mpControl; diff --git a/ui/singlesend.ui b/ui/singlesend.ui index b29cc2d..a1859f3 100644 --- a/ui/singlesend.ui +++ b/ui/singlesend.ui @@ -110,22 +110,5 @@ - - - pBn_Clear - clicked() - tEdit_Send - clear() - - - 911 - 75 - - - 752 - 72 - - - - + -- GitLab