1

すべての COM ポートのリストを取得し、次のコードを使用してそれらの名前を QComboBox に追加します。

QList<QSerialPortInfo> com_ports = QSerialPortInfo::availablePorts();
QSerialPortInfo port;

foreach(port, com_ports)
{
    ui->comboBox_com_ports->addItem(port.portName());
}

私は COM3 しか持っていませんが、availablePorts()関数は次のような 2 つのメンバーを返します。ここに画像の説明を入力

コードの何が問題になっていますか?

注:コンパイラとして「MSVC2012 OpenGL 32bit」を使用しています。

4

1 に答える 1

4

QtSerialPort モジュールは、Windows 上のすべてのポートを返すことになっています。つまり、実際のネイティブ ポートだけでなく、疑似ポートも返されます。

これは、図書館で少し前に行われた意図的な決定です。ただし、Unix では状況が少し異なりますが、想定どおりであることは保証できます。

ただし、これはあなたが直面している問題とは少し異なります。これは、5.3 シリーズで報告されたリグレッションです。ここで対応するレポートをフォローできます。

QSerialPortInfo::availablePorts() に問題があります...

于 2014-07-20T20:28:59.847 に答える