QCombox

//清空

 ui.comboBox->clear();

 //添加数据

        //添加数据
        ui.comboBox->addItem(codec->toUnicode("广东省"));
        ui.comboBox->addItem(codec->toUnicode("台湾省"));

  //默认选择第几项,如果选择的索引大于实际最大的索引,那么combox就变成空了,索引是-1

  //默认选择第几项,如果选择的索引大于实际最大的索引,那么combox就变成空了,索引是-1
  ui.comboBox->setCurrentIndex(0);
  ui.comboBox->setCurrentIndex(20);

  //批量添加

  //批量添加
  QStringList hbCitList = { codec->toUnicode("石家庄"),codec->toUnicode("保定市") };
  ui.comboBox->addItems(hbCitList);

 //获取当前选择的索引

 //获取当前选择的索引
 int SelectIndex2 = ui.comboBox->currentIndex();

 //获取当前内容

  //获取当前内容
  QString NowText = ui.comboBox->currentText();

信号槽

 

// 当前选中的条目变化时,会发射这两个信号
void currentIndexChanged(int index)
void currentTextChanged(const QString &text)

 

索引改变信号

 //combox 索引改变事件
 void OnCurrentIndexChanged(int index);
 //绑定
 connect(ui.comboBox, QOverload<int>::of( & QComboBox::currentIndexChanged), this, &QtWidgetsApplication2::OnCurrentIndexChanged);
/// <summary>
/// 索引改变事件
/// </summary>
/// <param name="index"></param>

void QtWidgetsApplication2::OnCurrentIndexChanged(int index)
{
    qDebug();
    qDebug();
    qDebug() <<"Now Combox Index:"<< ui.comboBox->currentIndex();
    qDebug();
    qDebug();
}

文字改变事件

//combox文字改变事件
void OnCurrentTextChanged(const QString& text);
//绑定 connect(ui.comboBox, QOverload<const QString&>::of(&QComboBox::currentTextChanged), this, &QtWidgetsApplication2::OnCurrentTextChanged); /// <summary> /// 文字改变事件 /// </summary> /// <param name="text"></param> void QtWidgetsApplication2::OnCurrentTextChanged(const QString& text) { qDebug(); qDebug(); qDebug() << "Now Combox Text:" << text; qDebug(); qDebug(); }

  //允许用户在下拉框的输入区域直接输入内容。

  //允许用户在下拉框的输入区域直接输入内容。
  ui.comboBox->setEditable(true);

 存储额外数据

每个项目除了显示的文本,还可以关联一个QVariant类型的用户数据,用于存储一些不可见的信息(例如,项目的ID)

  ui.comboBox->addItem("显示文本", "12345677777777777777777");
// 获取当前选项关联的数据
    QVariant userData = ui.comboBox->currentData();

 

posted @ 2025-11-25 09:57  家煜宝宝  阅读(5)  评论(0)    收藏  举报