QT的ComboBox使用QToolTip显示提示信息

先创建一个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(optionsi.first);

ui->ModeSelectioComboBox->setItemData(i, optionsi.second, Qt::ToolTipRole);

}

}

具体步骤解释如下:

ui->ModeSelectioComboBox->clear();

这行代码清除了组合框中所有现有的选项。确保在添加新选项之前,组合框是空的。

定义了一个QVector,其中每个元素都是一个QPair<QString, QString>,即两个字符串的配对。

第一个字符串是选项的显示文本(如"模式A")。

第二个字符串是对应选项的提示信息(如"这是模式0的详细说明:用于处理类型0的任务")。

使用循环遍历这个QVector:

ui->ModeSelectioComboBox->addItem(optionsi.first);

将每个配对中的第一个字符串(选项文本)添加到组合框中。

ui->ModeSelectioComboBox->setItemData(i, optionsi.second, Qt::ToolTipRole);

为刚添加的选项(索引为i)设置工具提示,即将第二个字符串作为工具提示数据设置到选项上,使用Qt::ToolTipRole角色。

效果展示

相关推荐
LDR00615 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术15 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园15 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob15 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享15 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.15 天前
C语言--day30
c语言·开发语言
何以解忧,唯有..15 天前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽15 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下15 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
飞天狗11115 天前
零基础JavaWeb入门——第五课第二小节:九大内置对象 · 第2个:response(响应对象)
java·开发语言