#pragma once #include #include namespace Psc { class Text_Shower : public QWidget { Q_OBJECT public: explicit Text_Shower(QWidget* parent = nullptr); void set_text(const QString& text); void set_title(const QString& title); void set_max_width(int w); [[nodiscard]] QSize sizeHint() const override; [[nodiscard]] QSize minimumSizeHint() const override; [[nodiscard]] bool hasHeightForWidth() const override; [[nodiscard]] int heightForWidth(int width) const override; protected: void paintEvent(QPaintEvent*) override; private: [[nodiscard]] int calculate_height(int width) const; private: QString m_text; QString m_title; int m_padding = 8; int m_radius = 8; int m_max_width = 600; // ε―ι€‰δΈŠι™ }; } // namespace Psc