
#ifndef BTNQLABELDEMO_H
#define BTNQLABELDEMO_H#include <QWidget>#include <QPushButton>
#include <QLabel>
#include <QVBoxLayout>
class BadgeButton : public QPushButton
{Q_OBJECT
public:explicit BadgeButton(QWidget *parent = nullptr) : QPushButton(parent){m_badge = new QLabel(this);m_badge->setFixedSize(10, 10); m_badge->setStyleSheet("background-color: red; border-radius: 5px;"); m_badge->hide(); updateBadgePosition();}void setBadgeVisible(bool visible){m_badge->setVisible(visible);}protected:void resizeEvent(QResizeEvent *event) override{QPushButton::resizeEvent(event);updateBadgePosition();}private:QLabel *m_badge;void updateBadgePosition(){int x = width() - m_badge->width() - 2; int y = 2; m_badge->move(x, y);}
};#endif