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();

浙公网安备 33010602011771号