// Copyright (C) 2012 Denis Shienkov // Copyright (C) 2012 Laszlo Papp // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #include #include #include #include #include #include int main(int argc, char *argv[]) { QApplication a(argc, argv); auto layout = new QVBoxLayout; const auto infos = QSerialPortInfo::availablePorts(); for (const QSerialPortInfo &info : infos) { QString s = QObject::tr("Port: ") + info.portName() + "\n" + QObject::tr("Location: ") + info.systemLocation() + "\n" + QObject::tr("Description: ") + info.description() + "\n" + QObject::tr("Manufacturer: ") + info.manufacturer() + "\n" + QObject::tr("Serial number: ") + info.serialNumber() + "\n" + QObject::tr("Vendor Identifier: ") + (info.hasVendorIdentifier() ? QString::number(info.vendorIdentifier(), 16) : QString()) + "\n" + QObject::tr("Product Identifier: ") + (info.hasProductIdentifier() ? QString::number(info.productIdentifier(), 16) : QString()) + "\n"; auto label = new QLabel(s); layout->addWidget(label); } auto workPage = new QWidget; workPage->setLayout(layout); QScrollArea area; area.setWindowTitle(QObject::tr("Info about all available serial ports.")); area.setWidget(workPage); area.show(); return a.exec(); }