使用QCombox, Item带图标
foreach遍历QMap<key,value> 添加QCombox的Item ,带图标,显示城市名称,userData中存入区号
使用QCombox的on_comboxCityZone_currentIndexChanged事件,打印combox的text,currentData
布局

.cpp
#include "comboxexample.h"
#include "ui_comboxexample.h"
ComBoxExample::ComBoxExample(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::ComBoxExample)
{
    ui->setupUi(this);
}
ComBoxExample::~ComBoxExample()
{
    delete ui;
}
void ComBoxExample::on_btnIniItems_clicked()
{
    QIcon icon;
    icon.addFile("://images/icon.bmp");
    for(int i=0;i<10;i++)
    {
        ui->comboxCity->addItem(icon,QString("Item%1").arg(i));
    }
}
void ComBoxExample::on_btnClearItems_clicked()
{
    ui->comboxCity->clear();
}
void ComBoxExample::on_chkEditable_clicked(bool checked)
{
    ui->chkEditable->setChecked(checked);
}
void ComBoxExample::on_comboxCity_currentTextChanged(const QString &arg1)
{
    ui->plainTextEdit->appendPlainText(arg1);
}
void ComBoxExample::on_btnIniCityZone_clicked()
{
    QMap<QString,QString> CityZones;     //QMap<key,value>
    CityZones.insert("0579","金华市");
    CityZones.insert("010","北京");
    CityZones.insert("021","上海");
    CityZones.insert("022","天津");
    CityZones.insert("0532","青岛");
    CityZones.insert("0411","大连");
    CityZones.insert("0416","锦州");
    CityZones.insert("0516","徐州");
    CityZones.insert("0591","福州");
    ui->comboxCityZone->clear();
    QIcon icon;
    icon.addFile("://images/718.bmp");
    foreach(const QString &str,CityZones.keys()) //遍历map的keys key字符串
    {
        ui->comboxCityZone->addItem(icon,CityZones.value(str),str); //最后一个变量为用户自定义数据,这里存储区位编码
    }
}
void ComBoxExample::on_comboxCityZone_currentIndexChanged(int index)
{
    Q_UNUSED(index);
    QString cityName = ui->comboxCityZone->currentText();
    QString zone =ui->comboxCityZone->currentData().toString(); // 用户自定义数据 类型为QVariant,需要转为QString
    ui->plainTextEdit->appendPlainText(QString("城市名%1 区号:%2").arg(cityName).arg(zone));
}
void ComBoxExample::on_btnClearText_clicked()
{
    ui->plainTextEdit->clear();
}
效果











![[leetcode hot 150]第十一题,盛水最多的容器](https://img-blog.csdnimg.cn/direct/f4e7cd4b24b54ca6861ce669618cc927.png)






![[AIGC] 使用Google的Guava库中的Lists工具类:常见用法详解](https://img-blog.csdnimg.cn/img_convert/eff2bcfa34ee962710f630945017689b.jpeg)

