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(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角色。

效果展示

相关推荐
wyzqhhhh10 小时前
京东啊啊啊啊啊
开发语言·前端·javascript
JIngJaneIL10 小时前
基于java+ vue助农电商系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
雷中听风10 小时前
使用字节的源安装rust
开发语言·后端·rust
特立独行的猫a10 小时前
C++开发中的Pimpl机制与类声明机制深度解析:现代C++的编译解耦艺术
开发语言·c++·pimpl
GoWjw10 小时前
在C&C++指针的惯用方法
c语言·开发语言·c++
heartbeat..10 小时前
JUC 在实际业务场景的落地实践
java·开发语言·网络·集合·并发
tryxr10 小时前
线程安全的类 ≠ 线程安全的程序
java·开发语言·vector·线程安全
superman超哥11 小时前
仓颉语言中错误恢复策略的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
rchmin11 小时前
Java内存模型(JMM)详解
java·开发语言
studytosky11 小时前
Linux系统编程:深度解析 Linux 进程,从底层架构到内存模型
linux·运维·服务器·开发语言·架构·vim