Qt 中 QComboBox 的 currentData() 方法详解
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 中当前选中项的关联数据,例如索引、字符串或其他自定义数据。
原文地址: https://www.cveoy.top/t/topic/fCYW 著作权归作者所有。请勿转载和采集!