Я скачал программу com0com и создал 3 пары виртуальных комов. Чтобы протестировать такие сообщения, я скачал 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\Documents\Qt\build-VComTest-Desktop_Qt_5_10_0_MinGW_32bit-Debug\debug\VComTest.exe...
setGeometry: невозможно установить геометрию 116x30+94+105 в QWidgetWindow/'QInputDialogClassWindow'. Результирующая геометрия: 212x90+94+105 (кадр: 8, 30, 8, 8, пользовательское поле: 0, 0, 0, 0, минимальный размер: 212x90, максимальный размер: 524287x90).
"ВКОМ1"
C:/Users/socc/Documents/Qt/build-VComTest-Desktop_Qt_5_10_0_MinGW_32bit-Debug/debug/VComTest.exe
вышел с кодом 1
Я также хотел бы знать, почему мой QInputDialog
выдает эту ошибку. Но это просто бонус, не обязательный для вопроса.