EllipsisLabel.cpp
Go to the documentation of this file.
1#include "EllipsisLabel.h"
2
3#include <QFontMetrics>
4#include <QResizeEvent>
5
6EllipsisLabel::EllipsisLabel(QWidget* parent) : QLabel(parent)
7{
8}
9
10void
11EllipsisLabel::setFullText(const QString& text)
12{
13 m_fullText = text;
14 resizeEvent(nullptr);
15}
16
17void
18EllipsisLabel::resizeEvent(QResizeEvent* event)
19{
20 QLabel::resizeEvent(event);
21
22 if (m_fullText.isEmpty())
23 return;
24
25 QFontMetrics fm(font());
26
27 int availableWidth = contentsRect().width();
28
29 QString elided = fm.elidedText(m_fullText, Qt::ElideRight, availableWidth);
30
31 setText(elided);
32}
void setFullText(const QString &text)
EllipsisLabel(QWidget *parent=nullptr)
void resizeEvent(QResizeEvent *event) override