zoukankan      html  css  js  c++  java
  • QT 下获取Linux系统的可用串口号,并在下拉框 comboBox 控件上显示出来

    1. 先在UI添加一个下拉框控件 comboBox

      

     2. 添加头文件

    #include <QSerialPortInfo>
    #include <QSerialPort>

     3.在 .pro 文件最后加上下面一行代码

    QT += serialport //测试必须要加这个,不然会报各种找不到匹配的函数的错误

    4.获取串口号,并在下拉框显示

        ui->comboBox->clear();   //清空下拉框的显示
        foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts())   //通过 QSerialPortInfo 查询 LInux 系统下的可用串口号;forreach 是增强的for循环,适用于循环次数未知的情况
    {

        ui->comboBox->addItem("/dev/"+info.portName()); //把获取到的串口号显示在下拉框,“/dev/”是串口节点,获取串口号是没办法获取到这部分的,只能获取到 “ttyS*” 这些,为了显示完整这里加了“/dev/”上去
        }

    5.获取显示在下拉框的串口号

        QString myCom = ui->comboBox->currentText();  //获取下拉框串口号
        /* 把QString类型转换为string类型,QT的字符串类型跟C语言的字符串类型不可用直接引用 */
        char* myComString;
        QByteArray tran = myCom.toLatin1();
        myComString = tran.data();
    /* 后面要用open函数打开串口的话,直接调用 myCom 作为串口号掉用即可 */

     6.运行结果

      

    关于具体的Linux下的串口通信可以参考我的另一篇博客:https://www.cnblogs.com/xingboy/p/14416196.html

    注意:提示错误 QT Unknown module(s) in QT: serialport 的解决方法如下:

      主要原因是你的QT安装的时候没有安装到该串口插件,在控制台输入以下命令即可 

    sudo apt-get install libqt5serialport5
    sudo apt-get install libqt5serialport5-dev
  • 相关阅读:
    小程序(二)
    React 之 项目搭建
    mac 终端 常用命令
    css 之 动画(翻转动画例子)
    css 之 单位
    Git 常见操作
    css 之 页面常用布局
    mac版vscode快捷键
    JSX
    Rem适配原理
  • 原文地址:https://www.cnblogs.com/xingboy/p/14523998.html
Copyright © 2011-2022 走看看