欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > Qt:自定义tooltip

Qt:自定义tooltip

2025/11/8 8:23:20 来源:https://blog.csdn.net/Yanjun2i/article/details/145163831  浏览:    关键词:Qt:自定义tooltip

在主窗口里获取鼠标的悬浮事件

_customTooltip是我定义在私有变量里的

 AbnormalToolTipWidget *_customTooltip = nullptr;

bool RobotAbnormalBtns::eventFilter(QObject *obj, QEvent *event)
{if (event->type() == QEvent::HoverEnter) {// 鼠标悬浮时显示自定义的工具提示if (!_customTooltip) {_customTooltip = new AbnormalToolTipWidget(this);}_customTooltip->addAbnormalInfo(/* 这里填入向widget传的数据*/);QPoint pos = mapToGlobal(static_cast<QWidget*>(obj)->pos());_customTooltip->move(mapToGlobal(QPoint(this->rect().right()+15,this->rect().center().y()-74))); // 设置提示显示的位置_customTooltip->show();_customTooltip->raise();} else if (event->type() == QEvent::HoverLeave) {if (_customTooltip) {_customTooltip->hide();}}return QObject::eventFilter(obj, event);
}

AbnormalToolTipWidget:

#include <QWidget>
#include <QStandardItemModel>namespace Ui {
class AbnormalToolTipWidget;
}class AbnormalToolTipWidget : public QWidget
{Q_OBJECTpublic:explicit AbnormalToolTipWidget(QWidget *parent = nullptr);~AbnormalToolTipWidget();void addAbnormalInfo(QVariantList infoList);
private:Ui::AbnormalToolTipWidget *ui;
};
#include "AbnormalToolTipWidget.h"
#include "ui_AbnormalToolTipWidget.h"
#include "PublicClass/StyleObject.h"
#include "UiClass.h"AbnormalToolTipWidget::AbnormalToolTipWidget(QWidget *parent): QWidget(parent), ui(new Ui::AbnormalToolTipWidget)
{ui->setupUi(this);// 设置自定义提示框的大小和外观setWindowFlags(Qt::ToolTip);setAttribute(Qt::WA_OpaquePaintEvent, false);//这里不设置为false,会有显示问题setAutoFillBackground(true);/*这里就可以开始设计自定义的内容了*/// 设置自定义提示框的大小resize(553, 60);}AbnormalToolTipWidget::~AbnormalToolTipWidget()
{delete ui;
}void AbnormalToolTipWidget::addAbnormalInfo(QVariantList infoList)
{//这是我定义的 外部传数据的函数  根据外部数据修改显示内容
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词