QT串口助手(二):参数配置 (2)

QT串口助手(二):参数配置

2.2、串口打开与关闭

串口开关按钮槽函数实现内容

/* 函 数:on_SerialPortSwitch_Bt_clicked 描 述:开关串口按键点击槽函数 输 入:无 输 出:无 */ void Widget::on_SerialPortSwitch_Bt_clicked() { if (ui->SerialPortSwitch_Bt->text() == "打开") { /* 创建串口对象 */ serial = new QSerialPort(this); /* 创建接收数据信号槽 */ connect(serial, &QSerialPort::readyRead, this, &Widget::SerialPortReadyRead_slot); /* 设置串口号 */ QString dev = serialDevice.at(ui->SerialNum_Box->currentIndex()); serial->setPortName(dev); /* 设置波特率 */ /* 设置数据位 */ /* 设置停止位 */ /* 设置校验位 */ /* 设置流控制 */ /* 打开串口 */ if (serial->open(QIODevice::ReadWrite) != true) { QMessageBox::critical(this, "提示", "打开失败"); return; } /*标记串口已打开*/ global_struct.isSerialOpen = true; /*设置文本*/ ui->SerialPortSwitch_Bt->setText("关闭"); } else { /*关闭并删除串口对象*/ serial->close(); serial->deleteLater(); /*标记串口已关闭*/ global_struct.isSerialOpen = false; /*设置文本*/ ui->SerialPortSwitch_Bt->setText("打开"); } } 2.3、串口设备的刷新

串口设备刷新按钮槽函数功能

/* 函 数:on_ComFlush_BT_clicked 描 述:串口设备刷新按钮槽函数 输 入:无 输 出:无 */ void Widget::on_ComFlush_BT_clicked() { ui->SerialNum_Box->clear(); FindSerialPort(); } /* 函 数:FindSerialPort 描 述:查找串口并添加到QComboBox 输 入:无 输 出:无 */ void Widget::FindSerialPort(void) { /* 遍历可用串口并添加到显示框 */ QStringList SerialPort_Name; foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) { SerialPort_Name << info.portName()+':'+info.description(); serialDevice << info.portName(); } ui->SerialNum_Box->addItems(SerialPort_Name); /*设置下拉框列表宽度*/ int maxlen = 0; for (int index = 0; index < ui->SerialNum_Box->count(); index++) { if (ui->SerialNum_Box->itemText(index).length() > maxlen) { maxlen = ui->SerialNum_Box->itemText(index).length(); } } int fontsize = ui->SerialNum_Box->font().pointSize(); ui->SerialNum_Box->view()->setFixedWidth(fontsize * maxlen * 0.75); }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyjgs.html