|
QAbstractItemModel * old_model = ui->comboBox->model();
if (old_model)
{
old_model->deleteLater();
}
QStandardItemModel *model = new QStandardItemModel(this);
QStandardItem *item = new QStandardItem(QString(" 请选择灭火装置..."));
model->appendRow(item);
{
DevicesReferer hydrants(DT_JettingHydrantDecoder, Controller.GetDeviceList());
for (DeviceListT::iterator it = hydrants->first; it != hydrants->second; ++it)
{
if (it->second->GetDisable())
{
continue;
}
if(it->second->GetDeviceType()->GetTypeId() == DT_ControlPanel)
{
continue;
}
item = new QStandardItem(
QString("%1 号%2").arg(it->second->GetId(), 3, 10, QChar('0'))
.arg(QString(it->second->GetDeviceType()->GetTypeName()))
);
item->setData((uint64_t)(it->second->GetGuid()), Qt::UserRole + 1);
model->appendRow(item);
}
}
{
DevicesReferer hydrants(DT_AddJettingHydrantDecoder, Controller.GetDeviceList());
for (DeviceListT::iterator it = hydrants->first; it != hydrants->second; ++it)
{
if (it->second->GetDisable())
{
continue;
}
if(it->second->GetDeviceType()->GetTypeId() == DT_ControlPanel)
{
continue;
}
item = new QStandardItem(
QString("%1 号%2").arg(it->second->GetId(), 3, 10, QChar('0'))
.arg(QString(it->second->GetDeviceType()->GetTypeName()))
);
item->setData((uint64_t)(it->second->GetGuid()), Qt::UserRole + 1);
model->appendRow(item);
}
}
ui->comboBox->setModel(model);
model->sort(0); |
|