代码拉取完成,页面将自动刷新
#include "push_button.h"
PushButton::PushButton(QWidget *parent)
:QPushButton(parent)
{
status = NORMAL;
mouse_press = false;
}
PushButton::~PushButton()
{
}
void PushButton::loadPixmap(QString pic_name)
{
pixmap.load(pic_name);
btn_width = pixmap.width()/4;
btn_height = pixmap.height();
setFixedSize(btn_width, btn_height);
}
void PushButton::enterEvent(QEvent *)
{
status = ENTER;
update();
}
void PushButton::mousePressEvent(QMouseEvent *event)
{
//若点击鼠标左键
if(event->button() == Qt::LeftButton)
{
mouse_press = true;
status = PRESS;
update();
}
}
void PushButton::mouseReleaseEvent(QMouseEvent *)
{
//若点击鼠标左键
if(mouse_press)
{
mouse_press = false;
status = ENTER;
update();
emit clicked();
}
}
void PushButton::leaveEvent(QEvent *)
{
status = NORMAL;
update();
}
void PushButton::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.drawPixmap(rect(), pixmap.copy(btn_width * status, 0, btn_width, btn_height));
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。