【Qt】 鼠标 hover 操作时弹出文字气泡

本文介绍如何在Qt5中利用内置的QToolTip类轻松为各类控件如QLabel和QPushButton设置鼠标悬停时的气泡提示信息,包括代码实例和常见支持控件列表。


需求描述:鼠标 hover 在一个控件上时,展示设置好的气泡信息

Qt5之前的版本要设置气泡需要通过C++中其他的类库去实现,在Qt5中则已经实现了相关的Qt类。并且除了设置文字气泡之外,还可以通过重写 QToolTip 类实现自己需要的气泡样式。

Qt 5.9.9 已经支持 QToolTip。基本所有继承于 QWidget 的组件都可以通过 setToolTip()设置气泡信息。以下所展示的Qt基类都可以设置气泡信息。

基本上所有继承于 QWidget 的Qt控件类都支持设置气泡,本文以 QLabelQPushButton 为例演示文字气泡功能。

代码

代码很简单,在ui界面拖一个 QLabel 和一个 QPushbutton 即可,信号槽直接在ui界面右击转到槽即可。

#include "widget.h"
#include "ui_widget.h"
#include <QImage>
#include <QPixmap>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);


    QPixmap img(":/Win11.jpg");

    ui->label->setPixmap(img);
    ui->label->setScaledContents(true);
    ui->label->setToolTip(QString("壁纸《Win11.png》"));
    ui->pushButton->setToolTip(QString("隐藏或显示图片"));
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_pushButton_clicked()
{
    if(ui->label->isVisible())
        ui->label->hide();
    else
        ui->label->setVisible(true);
}

演示

在这里插入图片描述

支持 SetToolTip的控件

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧恩意

如有帮助,感谢打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值