#pragma once #include #include class ElidedLabel : public QLabel { Q_OBJECT public: explicit ElidedLabel(QWidget *parent = 0); explicit ElidedLabel(const QString &text, QWidget *parent = 0); signals: void clicked(); protected: void paintEvent(QPaintEvent *event) override; void resizeEvent(QResizeEvent* event) override; void mouseReleaseEvent(QMouseEvent *event) override { if (rect().contains(event->pos())) { emit clicked(); } } QString lastText_, elidedText_; };