16,216
社区成员
发帖
与我相关
我的任务
分享
#include "settingsdialog.h"
SettingsDialog::SettingsDialog(QWidget *parent)
: QDialog(parent), DialogUi(new Ui::SettingsDialog)
{
DialogUi->setupUi(this);
fillPortsInfo();
}
SettingsDialog::~SettingsDialog()
{
delete DialogUi;
}
void SettingsDialog::fillPortsInfo()
{
DialogUi->serialPortInfoListBox->clear();
static const QString blankString = QObject::tr("N/A");
QString description;
QString manufacturer;
QString serialNumber;
foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) {
QStringList list;
description = info.description();
manufacturer = info.manufacturer();
serialNumber = info.serialNumber();
list << info.portName()
<< (!description.isEmpty() ? description : blankString)
<< (!manufacturer.isEmpty() ? manufacturer : blankString)
<< (!serialNumber.isEmpty() ? serialNumber : blankString)
<< info.systemLocation()
<< (info.vendorIdentifier() ? QString::number(info.vendorIdentifier(), 16) : blankString)
<< (info.productIdentifier() ? QString::number(info.productIdentifier(), 16) : blankString);
DialogUi->serialPortInfoListBox->addItem(list.first(), list);
}
}