Тем не менее, застенчивый миг, не такой хороший, как в левом приложении.
button.h
#include <QPushButton>
class Button : public QPushButton {
Q_OBJECT
QPixmap m_pixmap;
public:
explicit Button(QString img, QWidget *parent = nullptr);
public slots:
void enable();
void disable();
};
#endif // BUTTON_H
button.cpp
#include "button.h"
Button::Button(QString img, QWidget *parent) : QPushButton(parent) {
setIcon(QIcon(img));
setIconSize(QSize(32,32));
setFixedSize(QSize(32,32));
connect(this, &QPushButton::pressed, this, &Button::disable);
connect(this, &QPushButton::released, this, &Button::enable);
}
void Button::enable(){
setIcon(m_pixmap);
}
void Button::disable(){
m_pixmap = icon().pixmap(32,32,QIcon::Normal);
QPixmap pixmap = icon().pixmap(32,32,QIcon::Selected);
setIcon(pixmap);
}