QT 消息按钮上绘制数字气泡

一、效果如下

二、代码实现

.h 文件

#pragma once

#include <QPushButton>

class BubblelTipButton : public QPushButton
{
	Q_OBJECT

public:
	BubblelTipButton(QWidget *parent);
	~BubblelTipButton();

	void setMsgNumber(int number);

protected:
	virtual void paintEvent(QPaintEvent * event);

private:
	int bubbleWidth;
	int m_msgNumber;
};

.cpp 文件

#include <QPainter>

#include "BubblelTipButton.h"

BubblelTipButton::BubblelTipButton(QWidget *parent)
	: QPushButton(parent)
	, bubbleWidth(20)
	, m_msgNumber(0)
{
}

BubblelTipButton::~BubblelTipButton()
{
}

void BubblelTipButton::setMsgNumber(int number)
{
	m_msgNumber = number;
}

void BubblelTipButton::paintEvent(QPaintEvent * event)
{
	QPainter painter(this);
	painter.setRenderHint(QPainter::Antialiasing, true);

	QPoint pointMsg(0, 15);
	QPixmap pixmapMsg("

版权声明:本文为LearnLHC原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。