Qt6基础篇(十三)——QComboBox

前言:
   本篇文章介绍QComboBox控件的使用。

1 介绍

  QComboBox是Qt框架中的一个常用控件,将选项以列表形式列出。
  通过Qt Creator添加QComboBox控件。

comboBox.png

2 设置文本、坐标、大小、颜色

  以下代码配置了QComboBox控件的文本,坐标、大小、背景色、字体颜色。

1
2
3
4
5
ui->comboBox->addItem("Item 0");
ui->comboBox->addItem("Item 1");
ui->comboBox->addItem("Item 2");
ui->comboBox->setGeometry(200, 50, 200, 50);
ui->comboBox->setStyleSheet("background-color: yellow; color: green;");

QComboBox.png

3 获取文本和索引

   currentText 函数将返回QComboBox控件中选中项的文本内容,类型为 QString ,可通过 toStdString 函数转化为 string 类型输出。 currentIndex 函数将返回QComboBox控件中选中项的索引编号,索引号从0开始。

1
2
std::cout << ui->comboBox->currentIndex() << std::endl;
std::cout << ui->comboBox->currentText().toStdString() << std::endl;

4 信号槽

  连接信号和槽可以为控件添加回调函数,以下是为 QComboBox 控件添加当点击选项时,触发的回调函数。信号 currentIndexChanged 为选项索引有变化时触发,信号 currentTextChanged 为选项字符串有变化时触发,信号 activated 为选项被选中时触发,即使重复选中相同选项也会触发。

1
2
3
connect(ui->comboBox, &QComboBox::currentIndexChanged, this, &MainWindow::onComboBoxIndexChanged);
connect(ui->comboBox, &QComboBox::currentTextChanged, this, &MainWindow::onComboBoxTextChanged);
connect(ui->comboBox, &QComboBox::activated, this, &MainWindow::onComboBoxActivated);