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

效果展示

相关推荐
寻找华年的锦瑟1 小时前
Qt-侧边栏布局
开发语言·qt
tyler-泰勒1 小时前
QT:基础概念操作
开发语言·qt
9***P3341 小时前
Rust在网络中的Rocket
开发语言·后端·rust
大迪吃小迪1 小时前
每秒 400 请求场景下,线程池如何合理配置?
java·开发语言
Wzx1980122 小时前
go聊天室
开发语言·后端·golang
Mr_Xuhhh2 小时前
pytest -- 指定⽤例执⾏顺序
开发语言·python·pytest
F_D_Z2 小时前
【解决办法】网络训练报错AttributeError: module ‘jax.core‘ has no attribute ‘Shape‘.
开发语言·python·jax
chenyuhao20242 小时前
MySQL索引特性
开发语言·数据库·c++·后端·mysql
laocooon5238578862 小时前
vue3 本文实现了一个Vue3折叠面板组件
开发语言·前端·javascript