QT5串口上位机——从零开始教你写04

本文详细指导如何在QT5环境中创建串口上位机,包括设置UI界面中的串口参数选择、配置数组、实现串口打开与关闭按钮,以及信号与槽的运用。从设置QComboBox参数到创建SerialOpen和SerialClose函数,一步步教你完成串口控制功能。
摘要由CSDN通过智能技术生成

上一篇:QT5串口上位机——从零开始教你写03

简单串口编写

4.配置UI界面的串口打开和关闭

设置串口参数配置数组

从之前的Serial配置可知,我们是通过配置ui界面的QCombobox来进行串口参数的配置的,因此想要配置的参数应用到Serial,需要设置结构体,通过信号与槽来传递结构体的值,来传递配置参数。

这里需要在mainwidget.h中添加 #include “SerialInfo.h” 头文件,并添加一个私有成员 info

private:
    Ui::MainWidget *ui;
    QIntValidator* isBaudRateRange;//设置波特率输入范围
    Sinfo *info=nullptr; //设置串口配置的参数

注:

  1. Sinfo *info可以见之前配置的内容。

mainwidget.h中创建 void getComboBoxInfo(); 用以获取配置参数。

具体内容如下:

void MainWidget::getComboBoxInfo()
{
   
    if(info!=nullptr)   //删除原先内存空间
    {
   
        delete info;
    }
    this->info = new Sinfo;//防止内存泄漏,关闭窗口时 delete info;
    this->info->comName=ui->comPortName->currentText();  //设置串口号
    this->info->baudRate=ui->comBaudRate->currentText().toInt();  //设置波特率
    this->info->dataBits=ui->comDataBits->currentIndex();  //设置数据位
    this->info->parity=ui->comParity->currentIndex();      //设置检验位
    this->info->stopBits=ui->comStopBits->currentIndex();  //设置停止位
    this->info->flowControl=0 ;                           //设置流控位,默认值为0无流控
    this->info->Encode=ui->comEncode->currentIndex();      //设置编码格式
    
}

注:

  1. 其中,info在退出时要delete

设置完参数时,记得放进MainWidget中执行。但MainWidget中之在打开程序时执行一次,因此,需要添加信号与槽来更新info的参数。由于使用的是QCombobox,查阅帮助文档可知,能用到的信号函数为currentIndexChanged();

具体内容:

从截图中我们可以看出,当QComboboxindex变化时,可以返回两种参数:一种是当前所选变化的index值,另一种是当前所选变化的text的值。

因此可以在mainwidget.h中创建 void updataComboBox(); 用以更新配置参数。

具体内容如下:

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值