【问题标题】:QSerialPort cannot find the path specifiedQSerialPort 找不到指定的路径
【发布时间】:2018-02-16 14:43:57
【问题描述】:

我已经下载了程序 com0com 并创建了 3 对虚拟 com。为了测试这样的 com,我下载了 Termite,它可以成功打开、接收、传输和关闭每一对。到目前为止一切顺利。

但是,在我的 QT 应用程序中,我无法打开任何虚拟 com(我没有实际端口,所以我没有测试)。

我的代码:

#include <QSerialPort>
#include <QMessageBox>
#include <QInputDialog>
#include <QSerialPortInfo>
#include <QDebug>

ui->setupUi(this);
QSerialPort *serial = new QSerialPort(this);
QString port;
QStringList ListaDePortas;
QList<QSerialPortInfo> AllPorts(QSerialPortInfo::availablePorts());
bool ok;
if((AllPorts.isEmpty()))
{
    QMessageBox::critical(this,"Erro","Nenhuma porta serial encontrada!");
    exit(1);
}
for(int i=0;i<AllPorts.size();i++)
    ListaDePortas.push_back(AllPorts[i].portName());

port = QInputDialog::getItem(this, "Porta Serial",
                             "Escolha uma porta serial para conectar:", ListaDePortas, 0, false, &ok);
if(!ok)
{
    QMessageBox::warning(this,"Atenção","Nenhuma porta serial selecionada. O funcionamento do programa "
                                        "depende da conexão serial.");
    exit(1);
}
serial->setPortName(port);
qDebug() << serial->portName();
if(!serial->open(QIODevice::ReadWrite))
{
    QMessageBox::critical(this,"Erro",serial->errorString());
    exit(1);
}
qDebug() << "Porta conectada!";
serial->write("Test\r");
serial->flush();
serial->close();
exit(0);

我收到的错误消息是葡萄牙语(即使我的 QT 是英文)。它转换为system cannot find the path specified

关于可能导致此问题的任何线索?提前致谢!

编辑 1 - 奖励:

这是我的Application Output

开始 C:\Users\socc\Documents\Qt\build-VComTest-Desktop_Qt_5_10_0_MinGW_32bit-Debug\debug\VComTest.exe...

setGeometry:无法在 QWidgetWindow/'QInputDialogClassWindow' 上设置几何 116x30+94+105。生成的几何图形:212x90+94+105(帧:8、30、8、8,自定义边距:0、0、0、0,最小尺寸:212x90,最大尺寸:524287x90)。

“VCOM1”

C:/Users/socc/Documents/Qt/build-VComTest-Desktop_Qt_5_10_0_MinGW_32bit-Debug/debug/VComTest.exe

以代码 1 退出

我还想知道为什么我的QInputDialog 会产生该错误。但这只是一个奖励,对于这个问题不是必需的。

【问题讨论】:

    标签: qt serial-port virtual-serial-port


    【解决方案1】:

    对于遇到此问题的任何人,请打开com0com 设置,现在,在您的虚拟端口对上选择Use Port Class选项。将它用于对中的两个端口。

    我仍然不知道为什么会出现问题,特别是因为其他终端打开了端口没有问题。但这为我解决了。如果有人获得更多信息,请随时发布。

    【讨论】:

      猜你喜欢
      • 2020-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 2018-12-12
      相关资源
      最近更新 更多