#pragma once #include "lts_widgets_export.h" #include #include namespace LtsWidgets { class LTSWIDGETS_EXPORT LtsElidedLabel : public QLabel { Q_OBJECT public: Q_PROPERTY(Qt::TextElideMode ElideMode READ elideMode WRITE setElideMode) using QLabel::QLabel; void setElideMode(Qt::TextElideMode elideMode); Qt::TextElideMode elideMode() const { return m_elideMode; } protected: void paintEvent(QPaintEvent* e) override; void resizeEvent(QResizeEvent* e) override; private: void updateCachedTexts(); private: Qt::TextElideMode m_elideMode = Qt::ElideRight; QString m_cachedElidedText; QString m_cachedText; }; } // namespace LtsWidgets