diff --git a/dialogs/dialogtool.cpp b/dialogs/dialogtool.cpp index ccb701f24..100343c3c 100644 --- a/dialogs/dialogtool.cpp +++ b/dialogs/dialogtool.cpp @@ -396,15 +396,23 @@ void DialogTool::ShowVariable(const QHash *var){ Q_CHECK_PTR(listWidget); disconnect(listWidget, &QListWidget::currentRowChanged, this, &DialogTool::ValChenged); listWidget->clear(); - connect(listWidget, &QListWidget::currentRowChanged, this, &DialogTool::ValChenged); + QHashIterator i(*var); + QMap map; while (i.hasNext()) { i.next(); - QListWidgetItem *item = new QListWidgetItem(i.key()); + map.insert(i.key(), i.value()); + } + + QMapIterator iMap(map); + while (iMap.hasNext()) { + iMap.next(); + QListWidgetItem *item = new QListWidgetItem(iMap.key()); item->setFont(QFont("Times", 12, QFont::Bold)); listWidget->addItem(item); } listWidget->setCurrentRow (0); + connect(listWidget, &QListWidget::currentRowChanged, this, &DialogTool::ValChenged); } qint64 DialogTool::getIdDetail() const{