currentData() 用于获取当前选中项的关联数据。在 QComboBox 中,每个选项可以关联一个数据,可以通过 setData() 方法设置。currentData() 会返回当前选中项的关联数据。在这个例子中,可以通过 currentData() 方法获取当前选中项的索引。

例如,QComboBox 中存在以下四个选项:

  • '无' (索引 0)
  • '睡眠模式' (索引 1)
  • '日常模式' (索引 2)
  • '节能模式' (索引 3)

可以使用 setData() 方法为每个选项设置关联数据:

comboBox->setItemData(0, 0, Qt::UserRole); // 无
comboBox->setItemData(1, 1, Qt::UserRole); // 睡眠模式
comboBox->setItemData(2, 2, Qt::UserRole); // 日常模式
comboBox->setItemData(3, 3, Qt::UserRole); // 节能模式

然后,可以使用 currentData() 方法获取当前选中项的索引:

int index = comboBox->currentData().toInt(); // 获取当前选中项的索引

注意:

  • currentData() 方法返回 QVariant 类型的数据,需要使用 toInt() 方法将其转换为整型。
  • Qt::UserRole 是一个预留的角色,用于自定义数据。

通过以上方法,可以方便地获取 QComboBox 中当前选中项的关联数据,例如索引、字符串或其他自定义数据。

Qt 中 QComboBox 的 currentData() 方法详解

原文地址: https://www.cveoy.top/t/topic/fCYW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录