单击或按下QLabel时如何显示工具提示?

时间:2019-06-26 04:46:06

标签: qt

我想显示QLabel的工具提示,但是我想将QLabel制作为超链接,并且当按下链接时,我想弹出工具提示,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下对我有用的方法。

ToolTipLabelWidget.h

#pragma once

#include <QLabel>

class ToolTipLabelWidget : public QLabel
{
    Q_OBJECT

public:
    ToolTipLabelWidget(QWidget* parent=nullptr) {}

protected:
    void mousePressEvent(QMouseEvent* ev) override;
    void mouseReleaseEvent(QMouseEvent* ev) override;
};

ToolTipLabelWidget.cpp

#include "ToolTipLabelWidget.h"
#include <QToolTip>
#include <QMouseEvent>

void ToolTipLabelWidget::mousePressEvent(QMouseEvent* ev)
{
    auto globalPos=mapToGlobal(ev->pos());
    QToolTip::showText(globalPos, "Test",this);

}

void ToolTipLabelWidget::mouseReleaseEvent(QMouseEvent* ev)
{
    QToolTip::hideText();
}