#include "dialog_device_select.h" #include "ui_dialog_device_select.h" Dialog_device_select::Dialog_device_select(const std::vector& devs, QWidget *parent) : QDialog(parent), ui(new Ui::Dialog_device_select) , m_devId(-1) , m_devs(devs) { ui->setupUi(this); for (int i = 0; i < m_devs.size(); ++i) { ui->listWidget->addItem(QString::fromStdString(m_devs[i].name)); } } Dialog_device_select::~Dialog_device_select() { delete ui; } int Dialog_device_select::getDevId() { return m_devId; } void Dialog_device_select::on_pbtn_ok_clicked() { if (ui->listWidget->count() == 0) { m_devId = -1; } else { std::string selectDev = ui->listWidget->currentItem()->text().toStdString(); for (int i = 0; i < m_devs.size(); ++i) { if (m_devs[i].name == selectDev) { m_devId = m_devs[i].id; break; } else { m_devId = -1; } } } accept(); } void Dialog_device_select::on_pbtn_cancel_clicked() { m_devId = -1; reject(); }