Qt 之 QPushButton同时显示图片和文字

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013305101/article/details/80026158

#include <QPushButton>
#include <QPixmap>
#include <QWidget>
#include <QPainter>
#include <QPaintEvent>

class CustomPushButton
{
    CustomPushButton(const QString& iconPath, const QString& text, QWidget* parent)
        : public QPushButton(parent)

    {

        m_text = text;

        m_icon = QPixmap(iconPath);

    

        setFixedHeight(m_icon.size().height() + 15);

        setMinimumWidth(m_icon.size().width());

    

        m_drawedIconRect.setX( (rect().x() - m_icon.rect().x()) / 2);

        m_drawedIconRect.setY(rect().y());

        m_drawedIconRect.setWidth(m_icon.rect().width());

        m_drawedIconRect.setHeight(m_icon.rect().height());

    }

    void paintEvent(QPaintEvent* event)

    {

        QPainter painter(this);

        painter.drawPixmap(m_drawedIconRect, m_icon);

        painter.drawText(event->rect(), Qt::AlignHCenter | Qt::AlignBottom, m_text);

    }   
}

猜你喜欢

转载自blog.csdn.net/u013305101/article/details/80026158