先创建一个QcomboBox的ui控件,在setupComboBoxToolTips方法中去实现显示提示。
实现核心代码
void MainWindow::setupComboBoxToolTips()
{
// 清除现有选项
ui->ModeSelectioComboBox->clear();
// 定义选项和提示
QVector<QPair<QString, QString>> options = {
{"模式0", "test1"},
{"模式1", "test2"},
{"模式2", "test3"},
{"模式3", "test4"}
};
// 添加选项并设置提示
for (int i = 0; i < options.size(); ++i) {
ui->ModeSelectioComboBox->addItem(options[i].first);
ui->ModeSelectioComboBox->setItemData(i, options[i].second, Qt::ToolTipRole);
}
}
具体步骤解释如下:
ui->ModeSelectioComboBox->clear();
这行代码清除了组合框中所有现有的选项。确保在添加新选项之前,组合框是空的。
定义了一个QVector,其中每个元素都是一个QPair<QString, QString>,即两个字符串的配对。
第一个字符串是选项的显示文本(如"模式A")。
第二个字符串是对应选项的提示信息(如"这是模式0的详细说明:用于处理类型0的任务")。
使用循环遍历这个QVector:
ui->ModeSelectioComboBox->addItem(options[i].first);
将每个配对中的第一个字符串(选项文本)添加到组合框中。
ui->ModeSelectioComboBox->setItemData(i, options[i].second, Qt::ToolTipRole);
为刚添加的选项(索引为i)设置工具提示,即将第二个字符串作为工具提示数据设置到选项上,使用Qt::ToolTipRole角色。
效果展示
