当前位置: 首页 > news >正文

手表网站 源码网站设计师和网页设计师

手表网站 源码,网站设计师和网页设计师,wordpress 应用模板,校园网页设计模板简单Qt串口通信学习 一、项目概述 本项目基于Qt框架实现了串口通信功能,支持串口参数配置、数据收发、串口状态管理等,适合初学者学习Qt串口模块的实际应用。 二、项目结构 61.pro:Qt工程文件,配置模块与源码文件main.cpp:…

Qt串口通信学习

一、项目概述

本项目基于Qt框架实现了串口通信功能,支持串口参数配置、数据收发、串口状态管理等,适合初学者学习Qt串口模块的实际应用。

二、项目结构

  • 61.pro:Qt工程文件,配置模块与源码文件
  • main.cpp:程序入口,初始化应用与主窗口
  • widget.h / widget.cpp:主窗口类,包含UI与核心逻辑
  • widget.ui:界面文件(未展示,需在Qt Designer中查看)

三、环境配置

  • Qt 5.x及以上
  • 启用serialport、widgets模块
  • C++11支持

四、核心代码详解

1. main.cpp

#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}

2. widget.h

#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QSerialPort> // 串口类
#include <QSerialPortInfo> // 串口信息类
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{Q_OBJECT
public:Widget(QWidget *parent = nullptr);~Widget();
private slots:void on_pushButton_clicked(bool checked);
private:Ui::Widget *ui;           // UI指针QSerialPort *serialPort;  // 串口对象
private slots:void readData();          // 读取数据槽void on_pushButton_2_clicked(); // 发送数据按钮槽void on_pushButton_3_clicked(); // 清空发送区按钮槽
};
#endif // WIDGET_H

3. widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QMessageBox>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);serialPort = new QSerialPort(this);// 扫描本机的串口,并且添加到下拉框里foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) {ui->comboBox->addItem(info.portName());}// 读取数据connect(serialPort, SIGNAL(readyRead()), this, SLOT(readData()));
}
Widget::~Widget()
{delete ui;
}
void Widget::on_pushButton_clicked(bool checked)
{if (checked) {serialPort->setPortName(ui->comboBox->currentText());serialPort->setBaudRate(ui->comboBox_2->currentText().toInt());serialPort->setStopBits(QSerialPort::StopBits(ui->comboBox_3->currentText().toInt()));serialPort->setDataBits(QSerialPort::DataBits(ui->comboBox_4->currentText().toInt()));switch (ui->comboBox_5->currentIndex()) {case 0:serialPort->setParity(QSerialPort::NoParity);break;case 1:serialPort->setParity(QSerialPort::EvenParity);break;case 2:serialPort->setParity(QSerialPort::OddParity);break;case 3:serialPort->setParity(QSerialPort::SpaceParity);break;case 4:serialPort->setParity(QSerialPort::MarkParity);break;default:break;}serialPort->setFlowControl(QSerialPort::NoFlowControl);if (!serialPort->open(QIODevice::ReadWrite)) {QMessageBox::about(this, "错误", "串口打开失败可能被占用了");return;}ui->comboBox->setEnabled(false);ui->comboBox_2->setEnabled(false);ui->comboBox_3->setEnabled(false);ui->comboBox_4->setEnabled(false);ui->comboBox_5->setEnabled(false);ui->pushButton->setText("关闭串口");} else {serialPort->close();ui->comboBox->setEnabled(true);ui->comboBox_2->setEnabled(true);ui->comboBox_3->setEnabled(true);ui->comboBox_4->setEnabled(true);ui->comboBox_5->setEnabled(true);ui->pushButton->setText("打开串口");}
}
void Widget::readData()
{ui->textBrowser->insertPlainText(serialPort->readAll());
}
void Widget::on_pushButton_2_clicked()
{serialPort->write(ui->textEdit->toPlainText().toUtf8());
}
void Widget::on_pushButton_3_clicked()
{ui->textEdit->clear();
}
http://www.dtcms.com/a/497195.html

相关文章:

  • 深度学习------YOLOV3
  • 中国建设银行西平支行网站平价网站平价网站建设建设
  • 免费校园网站建设ceo是什么意思是什么职位
  • 网站分成推广怎么做物业网站模板下载
  • 丰台网站开发公司营销型网站建设市场分析
  • 网站建设费用要求怎么创建网站app
  • 国外室内设计网站大全网站赤壁网站建设
  • 满堂彩谁做的网站项目公司crm系统管理
  • 辽宁做网站和优化哪家好广东专业的网络推广
  • wordpress适合电影网站的模板微信怎么申请小程序
  • 如何给自己网站做网站优化株洲公司做网站
  • 【项目】【抽奖系统】注册功能实现
  • 银川网站建设哪家价格低市场营销管理是做什么的
  • 云南高端网站建设wordpress4.7 php版本
  • python编程之异常处理
  • 具身智能之旅001
  • 做动效很好的网站wordpress 博主
  • 商城网站建设模板下载注册公司费用最低多少
  • 【Kymo AI应用案例】一本教育X Kymo:用AI实现作业秒级批改
  • 农业行业网站建设网站建设与管理方案书
  • 奉化网站建设报价安装网站提示dir
  • 上海网站制作开发公司网站建设利弊
  • 做网店哪些网站比较好沧州网站建设培训
  • i/o旅程
  • 网站源码.netoa办公系统官网
  • 创建一个网站需要多少钱营销微网站建设公司
  • 萍乡网站建设可以做围棋题的网站
  • 网站建设 做一个网站需要多少钱景观设计师如何做网站
  • 泊头市网站建设品牌策划工作内容
  • 淮安哪里做网站玉林城乡住房建设厅网站