QSerialPort找不到指定的路径

时间:2018-02-16 14:43:57

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

我已下载程序 com0com 并创建了3对虚拟com。为了测试这些com,我下载了 Termite ,它成功地打开,接收,传输和关闭每对。到目前为止一切都很好。

但是,在我的QT应用程序中,我无法打开任何虚拟广告(我没有实际的端口,因此我没有经过测试)。

我的代码:

#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 \文件\ Qt的\集结VComTest-Desktop_Qt_5_10_0_MinGW_32bit-调试\调试\ VComTest.exe ...

     

setGeometry:无法在QWidgetWindow /&#39; QInputDialogClassWindow&#39;上设置几何体116x30 + 94 + 105。产生的几何:212x90 + 94 + 105(框架:8,30,8,8,自定义边距:0,0,0,0,最小尺寸:212x90,最大尺寸:524287x90)。

     

&#34; VCOM1&#34;

     

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

     

退出代码1

我还想知道为什么QInputDialog产生了这个错误。但这只是一个奖金,对问题来说不是必需的。

1 个答案:

答案 0 :(得分:1)

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

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